Java语言基础 目录 一、Java程序预览 二、类型 三、输入与包 四、流程控制 五、包与注释 六、数组 七、练习与笔记 八、推荐学习网站 八、示例与视频

一、Java程序预览

Java的语法与C非常类似,这里先使用几个非常简单的程序以点带面来区分C语Java的区分再细讲每个知识点。该文仅针对有编程基础的朋友参考。

1.1、Hello World

创建java项目

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

新建一个类

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2、Eclipse使用

1.2.1、项目位置

在项目上右键 ->properties ->location

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在项目上alt+enter键也可以打开项目属性

1.2.2、重置窗口布局

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

显示窗口,如控制台

选择show view

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.3、设置字体

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

window->preferences

1.2.4、修改控制台字体

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.4、项目的导入与保存

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 点击选择项目

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

完成

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.5、修改快捷键

默认快捷键为alt+/,可以修改为其它习惯的快捷键,如tab,tab

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.6、重命名

有时我们需要将类名或文件名修改,不能随意的原因是因为一个类可能被其它的类所引用

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.7、编码

Window -> Preferences -> General -> Workspace -> Text file encoding -> Other

万国码 unicode

utf-8 gb-2312-80 big5

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Window -> Preferences -> Web -> JSP Files -> Text file encoding-> Other:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.8、设置JDK本地JavaDOC API路径及源码路径

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

还都生成的是无意义的变量名,这样可能会对含有相同类型的变量参数的调用顺序造成干扰;

按Ctrl+点击系统对象可以查看源代码,源代码位置:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

这种问题,我们把JDK或者相应Jar包的源码导入进去就能避免了:

Window -> Preferences -> Java -> Installed JREs -> Edit:

选中设置好的JRE目录,编辑,然后全选 JRE system libraries 下的所有Jar包,点击右边的 Source Attachment;

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

External location 下,选中JDK安装目录下的src.zip 文件,一路OK 下来。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.3、快捷键

1.3.1、Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键)

Ctrl+D: 删除当前行

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Alt+← 前一个编辑的页面

Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

Ctrl+Q 定位到最后编辑的地方

Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)

Ctrl+M 最大化当前的Edit或View (再按则反之)

Ctrl+/ 注释当前行,再按则取消注释

Ctrl+O 快速显示 OutLine

Ctrl+T 快速显示当前类的继承结构

Ctrl+W 关闭当前Editer

Ctrl+K 参照选中的Word快速定位到下一个

Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)

Ctrl+/(小键盘) 折叠当前类中的所有代码

Ctrl+×(小键盘) 展开当前类中的所有代码

Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变为小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

Alt+Shift+I 合并变量(可能这样说有点不妥Inline)

Alt+Shift+V 移动函数和变量(不怎么常用)

Alt+Shift+Z 重构的后悔药(Undo)

1.3.2、

1.4、调试(debug)

1.4.1、设置断点

当程序运行到该位置时将中断,等待你的下一步指示。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在代码前双击用于设置与取消断点。

1.4.2、启动调试

点击工具栏中的“debug”按钮可以启动调试。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

可以选择切换视图,切换后的效果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.4.3、执行调试

单步进入:一步一步执行到每一个细节

单步跳过:只计算当前结果不会进行细节

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

查看运行时的变量

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在遇到逻辑错误时请调试。

二、类型

2.1、java中常用的类型

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
double 是64位
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.c139.chapter2;

public class Demo1 {
    
    public static void main(String[] args) {
        
        //数字
        //整型
        int i1=100;
        //长整型
        long i2=998877665544332211l;
        //短整型
        short i3=235;
        //浮点型
        double d1=3.5;  //双精度
        double d2=3;
        float f1=(float)3.5;   //单精度
        float f2=3.5f;   //单精度
        
        //布尔类型 boolean true真/false假
        boolean isPass=true;
        boolean isOk=false;
        boolean isBig=5>8;
        if(isPass){
            System.out.println("通过了");
        }else{
            System.out.println("未通过");
        }
        
        //单字符
        char f='女';
        char m='男';
        
        //字符串
        String s1="Hello 中文!";
        String s2=1+"";  //转换成String
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

小转大,类型匹配

double d=5;

String s="Hello"+9527

2.3、强制转换

大转小,类型适应(数字转数字)

int i=(double)198.5;

2.4、不同类型间的强制转换

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
        String name = "9527";
        int brother = Integer.parseInt(name) + 1;
        System.out.println(brother);

        double d = Double.parseDouble(name);
        Boolean.parseBoolean(name);
        float f = Float.parseFloat(name);
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

三、输入与包

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;
import com.zhangguo.chapter1.Math1;

/**
 * 输入
 * @author Administrator
 *
 */
public class Math2 {
    
    public static void main(String[] args) {
        //定义扫描器
        Scanner input=new Scanner(System.in);
        
        //定义变量
        int n=input.nextInt();  //等待输入
        
        //String name=input.next();  //输入字符
        //float mark=input.nextFloat();  //输入单精度数字
        //double pi=input.nextDouble();  //输入双精度数字
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

输出3位数到指定数之间的中能同时被3或5整除的数

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.c139.chapter2;   //包

//导包
import java.util.Scanner;

public class InputDemo {

    public static void main(String[] args) {
        
        //创建扫描器对象
        Scanner input=new Scanner(System.in);
        
        // 输出3位数到指定数之间的中能同时被3或5整除的数
        System.out.print("请输入n:");
        //从键盘输入
        int n = input.nextInt();
        
        for (int i = 100; i <= n; i++) {
            if(i%3==0&&i%5==0){
                System.out.println(i);
            }
        }

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

a)、导入包,导入类

同一个包中的类可以直接引用

不同包中的类型需要导入,使用import,import java.util.Scanner;

如需使用某个包下的所有类,则使用*号,如import java.util.*;

b)、输入

定义扫描器

使用扫描器对象的next*()方法

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;/**
 * 输入
 * @author Administrator
 *
 */
public class Math2 {
    
    public static void main(String[] args) {
        //定义扫描器
        Scanner input=new Scanner(System.in);
        
        System.out.print("请输入一个数:");
        //定义变量
        int n=input.nextInt();  //等待输入
        
        //String name=input.next();  //输入字符
        //float mark=input.nextFloat();  //输入单精度数字
        //double pi=input.nextDouble();  //输入双精度数字
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇	数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

四、流程控制

4.0、if条件分支

判断一个数是奇数还是偶数

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

/**
 * 判断一个数是奇数还是偶数
 * @author Administrator
 *
 */
public class Math1 {
    
    public static void main(String[] args) {
        //定义变量
        int n=0;
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.1、for循环

for循环计算1到该数间能被3和5同时整除的数之和

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;

/**
 * 计算1到该数间能被3和5同时整除的数之和
 * 
 * @author Administrator
 *
 */
public class Math3 {

    public static void main(String[] args) {
        // 定义扫描器
        Scanner input = new Scanner(System.in); // 默认的提示 alt+/

        // 提示输入
        System.out.print("请输入一个数:");

        // 执行输入
        int n = input.nextInt();
        int sum = 0;

        // 循环
        for (int i = 1; i <= n; i++) {

            // 判断,逻辑运算,与C一样,&&与,||或,!非
            if (i % 3 == 0 && i % 5 == 0) {
                // 累加
                sum = sum + i;
            }
        }

        System.out.println("总和是:" + sum);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.2、while循环

while循环计算1到该数间能被3和5同时整除的数之和

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math6 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
            }
            i++;
        }
        
        System.out.println("总和是:"+sum);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

break:结束当前循环

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math6 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
                System.out.println(i);
                break;
            }
            i++;
        }
        
        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

continue:结束当次循环,继续下一次循环

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math7 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
            }
            i++;
            if(i<=15) {continue;}
            System.out.println(i);
        }
        
        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.3、do-while循环

do-while 输入年龄,介于1-100之间

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;

        do {
            System.out.print("请输入年龄:");
            age = input.nextInt();
        } while (age < 1 || age > 100);   //条件为真,循环继续

        System.out.println("年龄是:" + age);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.4、if-else多条件分支

if-else 输入购物金额,完成商场打折功能

0-99 打9折

100-500 打8折

500以上打7折

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;
        String range = "";

        do {
            System.out.print("请输入年龄:");
            age = input.nextInt();
        } while (age < 1 || age > 100); // 条件为真,循环继续

        System.out.println("年龄是:" + age);

        if (age >= 0 && age <= 30) {
            range = "青年";
        } else if (age >= 31 && age <= 60) {
            range = "中年";
        } else if (age >= 61 && age <= 90) {
            range = "老年";
        } else {
            range = "晚年";
        }

        System.out.println("年龄段是:" + range);

    }

    // 0-30 青年
    // 31-60 中年
    // 61-90 老年
    // 晚年

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.5、switch开关分支

switch 输入1-7 输出星期一到星期天

等值比较

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

public class Math9 {

    public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        int week = 0;
        System.out.print("请输入周:");
        week = input.nextInt();
        
        switch (week) {   //char int
        case 1:
            System.out.println("星期一");
            break;
        case 2:
            System.out.println("星期二");
            break;
        case 3:
            System.out.println("星期三");
            break;
        case 4:
            System.out.println("星期四");
            break;
        case 5:
            System.out.println("星期五");
            break;
        case 6:
            System.out.println("星期六");
            break;
        case 7:
            System.out.println("星期天");
            break;
        default:
            System.out.println("输入错误");
            break;
        }
        
        
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

五、包与注释

a)、指定包名,相当于文件夹,一般使用倒置的域名如(com.baidu.项目名)

整理代码

避免冲,如一个项目中有多个同名的类,可以处在不同的包中间

类可以不在任何包中,一个包中也可以有0-N个类

包与文件夹一一对应

包的声明要放在第一行

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

b)、类型名,首字母大小

c)、代码中自动插入:public static void main(String[] args)

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
//包名,1单行注释
package com.zhangguo.chapter1;

/**
 * 判断一个数是奇数还是偶数
 * @author 张果
 *2文档注释
 */
public class Demo1 {

    /*
     * 主方法,程序的入口
     * 3多行注释
     */
    public static void main(String[] args) {
        //语句
        System.out.println("Hello World!");
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

e)、注意java中有3种类型的注释

六、数组

Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99

6.1、 一维数组

a)、计算5位同学的平均成绩

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

public class Math91 {

    public static void main(String[] args) {
        int[] a=new int[10];
        
        for (int i = 0; i < a.length; i++) {
            a[i]=i*i;
        }
        
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

  输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

求平均成绩与总分

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)长度为5的数组
        int[] scores=new int[5];
        int sum=0;
        //int[] scores2={20,30,50,90,100,99,19,78};
        //int[] scores3=new int[]{20,30,50,90,100,99,19,78};
        //int[] scores2=new int[8];
        //scores2[0]=20;
        //scores2[1]=30; //...
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            scores[i]=input.nextInt();
        }
        
        //遍历数组
        for (int i = 0; i < scores.length; i++) {
            sum=sum+scores[i];
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/scores.length));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2_2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)行为3的数组,列为2的数组
        double[][] scores=new double[3][2];
        double sum=0;
        int n=0;  //个数,输入
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                scores[i][j]=input.nextDouble();
                n++;
            }
        }
        
        //遍历数组
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                sum+=scores[i][j];   //sum=sum+scores[i][j]; 
            }
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/n));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2、二维数组

6.2.1、二维数组的定义与使用基础

定义数组并赋初值:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package zhangsan;

public class C1 {

    public static void main(String[] args) {
        System.out.println("Hello");

        int[][] a = new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
        
        System.out.println(a[0][2]);
        
        for (int i = 0; i < a.length; i++) {  //行
            
            for (int j = 0; j < a[i].length; j++) {  //列
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

  输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.2、二维数组赋值

定义数组并赋值

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package zhangsan;

import java.util.Scanner;

public class C2 {

    public static void main(String[] args) {

        int sum=0;
        Scanner input=new Scanner(System.in);
        
        int[][] a = new int[3][2];
        
        //a[0][0]=98;
        //a[0][1]=89;
        
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                System.err.print("请输入a["+i+"]["+j+"]=");
                a[i][j]=input.nextInt();
            }
        }
        
        for (int i = 0; i < a.length; i++) {  //行
            for (int j = 0; j < a[i].length; j++) {  //列
                sum+=a[i][j];
            }
        }
        
        System.out.println(sum);

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.3、二维数组应用

有3名同学,每名同学有语文与数学考试成绩,求平均分与总分?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2_2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)行为3的数组,列为2的数组
        double[][] scores=new double[3][2];
        double sum=0;
        int n=0;  //个数,输入
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                scores[i][j]=input.nextDouble();
                n++;
            }
        }
        
        //遍历数组
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                sum+=scores[i][j];   //sum=sum+scores[i][j]; 
            }
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/n));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.4、方法与排序

java中内置了非常多的工具方法如Math类、Arrays类等,使用sort可以实现给数组排序:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Arrays;

public class Method {

    public static void main(String[] args) {
        int a=1,b=2;
        int max=a>b?a:b;  //三目
        System.out.println(max);
        
        //算术
        System.out.println(Math.max(9, 10));
        
        int[] a1={8,9,1,3,4,5,0,-1};
        
        //排序
        Arrays.sort(a1);
        
        for (int i = a1.length-1; i>=0; i--) {
            System.out.print(a1[i]+" ");
        }
        
        
        //字符,字符串比较只能用equals, ==
        String x="abc";
        System.out.println(x.equals("abc"));
        System.out.println("abc"==x);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

?:表达式的作用是如果表达式1为真则返回或执行第2个表达式,如果表达式为假则执行或返回第3个表达式

表达式1?表达式2:表达式3

如:int min=a<b?a:b;

七、练习与笔记

请说出下面程序的运行结果?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

public class Test {

    public static void main(String[] args) {
        for (int i = 1; i <=10; i++) {
            if(i%2==0){
                System.out.print("a");
            }else if(i%3==0){
                System.out.print("b");
            }else {
                System.out.print("c");
            }
        }
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

cabacacaba

break在程序中的作用是什么?他能用在那些结构中?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

public class Test2 {

    public static void main(String[] args) {
        for (int i = 0; i <10; i++) {
            if(i%2==0){
                System.out.print("a");
            }else if(i%7==0){
                System.out.print("b");
                break;
            }else {
                System.out.print("c");
            }
        }
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 acacacab

continue在程序中的作用是什么?他能用在那些结构中?

当输入0、2、7时程序分别输出什么?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

import java.util.Scanner;

public class TestC {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String[] weeks={"天","一","二","三","四","五","六"};
        int index=input.nextInt();
        System.out.println("星期"+weeks[index]);
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

上机练习,用户注册示例

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

/**
 * 注册
 *
 */
public class Math9 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String uid,pwd;
        String flag;

        do {
            System.out.print("请输入帐号:");
            uid = input.next();
            System.out.print("请输入密码:");
            pwd = input.next();
            System.out.println("注册成功,您的用户为:"+uid+"	密码:"+pwd);
            
            System.out.print("是否继续(y/n):");
            flag=input.next();
        } while (flag.equals("y"));   //条件为真,循环继续

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

八、推荐学习网站

http://www.maiziedu.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.imooc.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.jikexueyuan.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 https://ke.qq.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.chuanke.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

八、示例与视频

第一次视频:http://pan.baidu.com/s/1bp7pTjL

JDK8下载:http://pan.baidu.com/s/1nuSuIKT

Eclipse下载:http://pan.baidu.com/s/1c2koakg

第三次视频:http://pan.baidu.com/s/1mhAfWSg (JavaSE_第2章第3次_数组,方法,复习流控)

上课示例:http://files.cnblogs.com/files/best/JavaSE02.7z

作业:

在这里找 http://www.cnblogs.com/best/p/5991771.html 5个题

在这里找 http://www.cnblogs.com/best/p/5991751.html 5个题

所有课后练习,包含预习,简答,编程 All

一、Java程序预览

Java的语法与C非常类似,这里先使用几个非常简单的程序以点带面来区分C语Java的区分再细讲每个知识点。该文仅针对有编程基础的朋友参考。

1.1、Hello World

创建java项目

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

新建一个类

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2、Eclipse使用

1.2.1、项目位置

在项目上右键 ->properties ->location

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在项目上alt+enter键也可以打开项目属性

1.2.2、重置窗口布局

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

显示窗口,如控制台

选择show view

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.3、设置字体

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

window->preferences

1.2.4、修改控制台字体

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.4、项目的导入与保存

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 点击选择项目

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

完成

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.5、修改快捷键

默认快捷键为alt+/,可以修改为其它习惯的快捷键,如tab,tab

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.6、重命名

有时我们需要将类名或文件名修改,不能随意的原因是因为一个类可能被其它的类所引用

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.7、编码

Window -> Preferences -> General -> Workspace -> Text file encoding -> Other

万国码 unicode

utf-8 gb-2312-80 big5

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Window -> Preferences -> Web -> JSP Files -> Text file encoding-> Other:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.2.8、设置JDK本地JavaDOC API路径及源码路径

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

还都生成的是无意义的变量名,这样可能会对含有相同类型的变量参数的调用顺序造成干扰;

按Ctrl+点击系统对象可以查看源代码,源代码位置:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

这种问题,我们把JDK或者相应Jar包的源码导入进去就能避免了:

Window -> Preferences -> Java -> Installed JREs -> Edit:

选中设置好的JRE目录,编辑,然后全选 JRE system libraries 下的所有Jar包,点击右边的 Source Attachment;

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

External location 下,选中JDK安装目录下的src.zip 文件,一路OK 下来。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.3、快捷键

1.3.1、Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键)

Ctrl+D: 删除当前行

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Alt+← 前一个编辑的页面

Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

Ctrl+Q 定位到最后编辑的地方

Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)

Ctrl+M 最大化当前的Edit或View (再按则反之)

Ctrl+/ 注释当前行,再按则取消注释

Ctrl+O 快速显示 OutLine

Ctrl+T 快速显示当前类的继承结构

Ctrl+W 关闭当前Editer

Ctrl+K 参照选中的Word快速定位到下一个

Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)

Ctrl+/(小键盘) 折叠当前类中的所有代码

Ctrl+×(小键盘) 展开当前类中的所有代码

Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变为小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

Alt+Shift+I 合并变量(可能这样说有点不妥Inline)

Alt+Shift+V 移动函数和变量(不怎么常用)

Alt+Shift+Z 重构的后悔药(Undo)

1.3.2、

1.4、调试(debug)

1.4.1、设置断点

当程序运行到该位置时将中断,等待你的下一步指示。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在代码前双击用于设置与取消断点。

1.4.2、启动调试

点击工具栏中的“debug”按钮可以启动调试。

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

可以选择切换视图,切换后的效果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

1.4.3、执行调试

单步进入:一步一步执行到每一个细节

单步跳过:只计算当前结果不会进行细节

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

查看运行时的变量

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

在遇到逻辑错误时请调试。

二、类型

2.1、java中常用的类型

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
double 是64位
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.c139.chapter2;

public class Demo1 {
    
    public static void main(String[] args) {
        
        //数字
        //整型
        int i1=100;
        //长整型
        long i2=998877665544332211l;
        //短整型
        short i3=235;
        //浮点型
        double d1=3.5;  //双精度
        double d2=3;
        float f1=(float)3.5;   //单精度
        float f2=3.5f;   //单精度
        
        //布尔类型 boolean true真/false假
        boolean isPass=true;
        boolean isOk=false;
        boolean isBig=5>8;
        if(isPass){
            System.out.println("通过了");
        }else{
            System.out.println("未通过");
        }
        
        //单字符
        char f='女';
        char m='男';
        
        //字符串
        String s1="Hello 中文!";
        String s2=1+"";  //转换成String
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

小转大,类型匹配

double d=5;

String s="Hello"+9527

2.3、强制转换

大转小,类型适应(数字转数字)

int i=(double)198.5;

2.4、不同类型间的强制转换

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
        String name = "9527";
        int brother = Integer.parseInt(name) + 1;
        System.out.println(brother);

        double d = Double.parseDouble(name);
        Boolean.parseBoolean(name);
        float f = Float.parseFloat(name);
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

三、输入与包

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;
import com.zhangguo.chapter1.Math1;

/**
 * 输入
 * @author Administrator
 *
 */
public class Math2 {
    
    public static void main(String[] args) {
        //定义扫描器
        Scanner input=new Scanner(System.in);
        
        //定义变量
        int n=input.nextInt();  //等待输入
        
        //String name=input.next();  //输入字符
        //float mark=input.nextFloat();  //输入单精度数字
        //double pi=input.nextDouble();  //输入双精度数字
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

输出3位数到指定数之间的中能同时被3或5整除的数

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.c139.chapter2;   //包

//导包
import java.util.Scanner;

public class InputDemo {

    public static void main(String[] args) {
        
        //创建扫描器对象
        Scanner input=new Scanner(System.in);
        
        // 输出3位数到指定数之间的中能同时被3或5整除的数
        System.out.print("请输入n:");
        //从键盘输入
        int n = input.nextInt();
        
        for (int i = 100; i <= n; i++) {
            if(i%3==0&&i%5==0){
                System.out.println(i);
            }
        }

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

a)、导入包,导入类

同一个包中的类可以直接引用

不同包中的类型需要导入,使用import,import java.util.Scanner;

如需使用某个包下的所有类,则使用*号,如import java.util.*;

b)、输入

定义扫描器

使用扫描器对象的next*()方法

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;/**
 * 输入
 * @author Administrator
 *
 */
public class Math2 {
    
    public static void main(String[] args) {
        //定义扫描器
        Scanner input=new Scanner(System.in);
        
        System.out.print("请输入一个数:");
        //定义变量
        int n=input.nextInt();  //等待输入
        
        //String name=input.next();  //输入字符
        //float mark=input.nextFloat();  //输入单精度数字
        //double pi=input.nextDouble();  //输入双精度数字
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇	数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

四、流程控制

4.0、if条件分支

判断一个数是奇数还是偶数

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

/**
 * 判断一个数是奇数还是偶数
 * @author Administrator
 *
 */
public class Math1 {
    
    public static void main(String[] args) {
        //定义变量
        int n=0;
        
        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.1、for循环

for循环计算1到该数间能被3和5同时整除的数之和

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;

/**
 * 计算1到该数间能被3和5同时整除的数之和
 * 
 * @author Administrator
 *
 */
public class Math3 {

    public static void main(String[] args) {
        // 定义扫描器
        Scanner input = new Scanner(System.in); // 默认的提示 alt+/

        // 提示输入
        System.out.print("请输入一个数:");

        // 执行输入
        int n = input.nextInt();
        int sum = 0;

        // 循环
        for (int i = 1; i <= n; i++) {

            // 判断,逻辑运算,与C一样,&&与,||或,!非
            if (i % 3 == 0 && i % 5 == 0) {
                // 累加
                sum = sum + i;
            }
        }

        System.out.println("总和是:" + sum);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.2、while循环

while循环计算1到该数间能被3和5同时整除的数之和

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math6 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
            }
            i++;
        }
        
        System.out.println("总和是:"+sum);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

break:结束当前循环

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math6 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
                System.out.println(i);
                break;
            }
            i++;
        }
        
        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

continue:结束当次循环,继续下一次循环

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math7 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;
        
        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
            }
            i++;
            if(i<=15) {continue;}
            System.out.println(i);
        }
        
        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.3、do-while循环

do-while 输入年龄,介于1-100之间

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;

        do {
            System.out.print("请输入年龄:");
            age = input.nextInt();
        } while (age < 1 || age > 100);   //条件为真,循环继续

        System.out.println("年龄是:" + age);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.4、if-else多条件分支

if-else 输入购物金额,完成商场打折功能

0-99 打9折

100-500 打8折

500以上打7折

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;
        String range = "";

        do {
            System.out.print("请输入年龄:");
            age = input.nextInt();
        } while (age < 1 || age > 100); // 条件为真,循环继续

        System.out.println("年龄是:" + age);

        if (age >= 0 && age <= 30) {
            range = "青年";
        } else if (age >= 31 && age <= 60) {
            range = "中年";
        } else if (age >= 61 && age <= 90) {
            range = "老年";
        } else {
            range = "晚年";
        }

        System.out.println("年龄段是:" + range);

    }

    // 0-30 青年
    // 31-60 中年
    // 61-90 老年
    // 晚年

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

4.5、switch开关分支

switch 输入1-7 输出星期一到星期天

等值比较

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

import java.util.Scanner;

public class Math9 {

    public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        int week = 0;
        System.out.print("请输入周:");
        week = input.nextInt();
        
        switch (week) {   //char int
        case 1:
            System.out.println("星期一");
            break;
        case 2:
            System.out.println("星期二");
            break;
        case 3:
            System.out.println("星期三");
            break;
        case 4:
            System.out.println("星期四");
            break;
        case 5:
            System.out.println("星期五");
            break;
        case 6:
            System.out.println("星期六");
            break;
        case 7:
            System.out.println("星期天");
            break;
        default:
            System.out.println("输入错误");
            break;
        }
        
        
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

五、包与注释

a)、指定包名,相当于文件夹,一般使用倒置的域名如(com.baidu.项目名)

整理代码

避免冲,如一个项目中有多个同名的类,可以处在不同的包中间

类可以不在任何包中,一个包中也可以有0-N个类

包与文件夹一一对应

包的声明要放在第一行

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

b)、类型名,首字母大小

c)、代码中自动插入:public static void main(String[] args)

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
//包名,1单行注释
package com.zhangguo.chapter1;

/**
 * 判断一个数是奇数还是偶数
 * @author 张果
 *2文档注释
 */
public class Demo1 {

    /*
     * 主方法,程序的入口
     * 3多行注释
     */
    public static void main(String[] args) {
        //语句
        System.out.println("Hello World!");
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

e)、注意java中有3种类型的注释

六、数组

Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99

6.1、 一维数组

a)、计算5位同学的平均成绩

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter1;

public class Math91 {

    public static void main(String[] args) {
        int[] a=new int[10];
        
        for (int i = 0; i < a.length; i++) {
            a[i]=i*i;
        }
        
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
        
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

  输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

求平均成绩与总分

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)长度为5的数组
        int[] scores=new int[5];
        int sum=0;
        //int[] scores2={20,30,50,90,100,99,19,78};
        //int[] scores3=new int[]{20,30,50,90,100,99,19,78};
        //int[] scores2=new int[8];
        //scores2[0]=20;
        //scores2[1]=30; //...
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            scores[i]=input.nextInt();
        }
        
        //遍历数组
        for (int i = 0; i < scores.length; i++) {
            sum=sum+scores[i];
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/scores.length));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2_2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)行为3的数组,列为2的数组
        double[][] scores=new double[3][2];
        double sum=0;
        int n=0;  //个数,输入
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                scores[i][j]=input.nextDouble();
                n++;
            }
        }
        
        //遍历数组
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                sum+=scores[i][j];   //sum=sum+scores[i][j]; 
            }
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/n));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2、二维数组

6.2.1、二维数组的定义与使用基础

定义数组并赋初值:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package zhangsan;

public class C1 {

    public static void main(String[] args) {
        System.out.println("Hello");

        int[][] a = new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
        
        System.out.println(a[0][2]);
        
        for (int i = 0; i < a.length; i++) {  //行
            
            for (int j = 0; j < a[i].length; j++) {  //列
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

  输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.2、二维数组赋值

定义数组并赋值

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package zhangsan;

import java.util.Scanner;

public class C2 {

    public static void main(String[] args) {

        int sum=0;
        Scanner input=new Scanner(System.in);
        
        int[][] a = new int[3][2];
        
        //a[0][0]=98;
        //a[0][1]=89;
        
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                System.err.print("请输入a["+i+"]["+j+"]=");
                a[i][j]=input.nextInt();
            }
        }
        
        for (int i = 0; i < a.length; i++) {  //行
            for (int j = 0; j < a[i].length; j++) {  //列
                sum+=a[i][j];
            }
        }
        
        System.out.println(sum);

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 输出:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.3、二维数组应用

有3名同学,每名同学有语文与数学考试成绩,求平均分与总分?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

public class Array2_2 {

    public static void main(String[] args) {
        //统计平均成绩
        //实例化(创建)行为3的数组,列为2的数组
        double[][] scores=new double[3][2];
        double sum=0;
        int n=0;  //个数,输入
        
        //输入器
        Scanner input=new Scanner(System.in);
        
        //scores.length 数组的长度
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                scores[i][j]=input.nextDouble();
                n++;
            }
        }
        
        //遍历数组
        for (int i = 0; i <scores.length; i++) {
            for (int j = 0; j < scores[i].length; j++) {
                sum+=scores[i][j];   //sum=sum+scores[i][j]; 
            }
        }
        
        System.out.println("总分是:"+sum+",平均分:"+(sum/n));
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

6.2.4、方法与排序

java中内置了非常多的工具方法如Math类、Arrays类等,使用sort可以实现给数组排序:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Arrays;

public class Method {

    public static void main(String[] args) {
        int a=1,b=2;
        int max=a>b?a:b;  //三目
        System.out.println(max);
        
        //算术
        System.out.println(Math.max(9, 10));
        
        int[] a1={8,9,1,3,4,5,0,-1};
        
        //排序
        Arrays.sort(a1);
        
        for (int i = a1.length-1; i>=0; i--) {
            System.out.print(a1[i]+" ");
        }
        
        
        //字符,字符串比较只能用equals, ==
        String x="abc";
        System.out.println(x.equals("abc"));
        System.out.println("abc"==x);
    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

?:表达式的作用是如果表达式1为真则返回或执行第2个表达式,如果表达式为假则执行或返回第3个表达式

表达式1?表达式2:表达式3

如:int min=a<b?a:b;

七、练习与笔记

请说出下面程序的运行结果?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

public class Test {

    public static void main(String[] args) {
        for (int i = 1; i <=10; i++) {
            if(i%2==0){
                System.out.print("a");
            }else if(i%3==0){
                System.out.print("b");
            }else {
                System.out.print("c");
            }
        }
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

cabacacaba

break在程序中的作用是什么?他能用在那些结构中?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

public class Test2 {

    public static void main(String[] args) {
        for (int i = 0; i <10; i++) {
            if(i%2==0){
                System.out.print("a");
            }else if(i%7==0){
                System.out.print("b");
                break;
            }else {
                System.out.print("c");
            }
        }
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 acacacab

continue在程序中的作用是什么?他能用在那些结构中?

当输入0、2、7时程序分别输出什么?

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package a.b.c.d;

import java.util.Scanner;

public class TestC {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String[] weeks={"天","一","二","三","四","五","六"};
        int index=input.nextInt();
        System.out.println("星期"+weeks[index]);
    }
}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

上机练习,用户注册示例

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频
package com.zhangguo.chapter2;

import java.util.Scanner;

/**
 * 注册
 *
 */
public class Math9 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String uid,pwd;
        String flag;

        do {
            System.out.print("请输入帐号:");
            uid = input.next();
            System.out.print("请输入密码:");
            pwd = input.next();
            System.out.println("注册成功,您的用户为:"+uid+"	密码:"+pwd);
            
            System.out.print("是否继续(y/n):");
            flag=input.next();
        } while (flag.equals("y"));   //条件为真,循环继续

    }

}
Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

运行结果:

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

八、推荐学习网站

http://www.maiziedu.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.imooc.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.jikexueyuan.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

 https://ke.qq.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

http://www.chuanke.com/

Java语言基础
目录
一、Java程序预览
二、类型
三、输入与包
四、流程控制
五、包与注释
六、数组
七、练习与笔记
八、推荐学习网站
八、示例与视频

八、示例与视频

第一次视频:http://pan.baidu.com/s/1bp7pTjL

JDK8下载:http://pan.baidu.com/s/1nuSuIKT

Eclipse下载:http://pan.baidu.com/s/1c2koakg

第三次视频:http://pan.baidu.com/s/1mhAfWSg (JavaSE_第2章第3次_数组,方法,复习流控)

上课示例:http://files.cnblogs.com/files/best/JavaSE02.7z

作业:

在这里找 http://www.cnblogs.com/best/p/5991771.html 5个题

在这里找 http://www.cnblogs.com/best/p/5991751.html 5个题

所有课后练习,包含预习,简答,编程 All