第1章    Eclipse

1.1     Eclipse概述

l 概述

Eclipse是一个专门针对Java的集成开发工具(IDE),IBM公司的产品。是免费、开源、由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是Eclipse进行开发。

l 特点描述

n 免费

n Java语言编写

n 免安装

n 扩展性强

l 下载和安装

n 下载 http://eclipse.org/

n 安装 绿色版 解压就可以使用(Eclipse)

n  卸载(只需要将文件夹删除就可以了)

n  注意: 开发软件的安装目录中,不要出现空格与中文与特殊符号

1.2     Eclipse基本使用

   l 打开eclipse

    

l 选择工作空间

n 工作空间  其实就是我们写的源代码所在的目录

l Eclipse来完成一个HelloWorld案例

    A:创建Java项目:

点击File或者在最左侧空白处,选择Java项目,在界面中写一个项目名称,然后Finish即可。

B:创建包:展开项目,在源包src下建立一个包com.jdguigu

C:创建类:在com.ithiema包下建立一个类HelloWorld

在界面中写一个类名:HelloWorld,然后finish即可。

D:编写代码

在HelloWorld类写main方法,在main方法中写一条输出语句:我是京东硅谷程序员,我骄傲,我自豪。

E:编译

自动编译,在保存的那一刻帮你做好了

F:运行

选择要运行的文件或者在要运行的文件内容中

右键 -- Run as - Java Application即可

1.3     基本配置

l 行号的显示和隐藏

n 显示:在代码区域的左边空白区域,右键 -- Show Line Numbers

n 隐藏:将上面的操作再做一遍

l 字体大小及颜色

    n  修改java代码的字体大小与颜色

u  Window -- Preferences -- General -- Appearance -- Colors and Fonts-- Java -- Java Editor Text Font选中后,点击Edit,进行修改

    n  修改其他字体大小与颜色

u  Window -- Preferences -- General -- Appearance -- Colors and Fonts-- Bacic -- Text Font 选中后 点击Edit ,进行修改

l 解决窗体布局乱了

    n  Window – Perspective -- Reset Prespective

l 解决控制台找不到

    n  Window--Show View—Console

1.4     快捷键

l 内容辅助键:alt+/

     A:main方法

        main,然后alt+/,回车

     B:输出语句

       sysout,回车

l 其它快捷键:

     A:注释

       单行注释: 选中内容,ctrl+/,再来一次就是取消

       多行注释: 选择内容,ctrl+shift+/,ctrl+shift+\

     B:格式化

        ctrl+shift+f

1.5     项目的删除和导入

l 删除项目

n 选中项目– 右键 删除

n 从项目区域中删除

n 从硬盘上删除

l 导入项目

n 在项目区域右键找到import

n 找到General,展开,并找到

u Existing Projects intoWorkspace

n 点击next,然后选择你要导入的项目

u 注意:这里选择的是项目名称

第2章     变量

2.1     类型转换

+是一个运算符, 我们应该能够看懂,做数据的加法。

boolean类型不能转换为其他的数据类型

l 默认转换: 范围小的数据类型直接转换成范围大的数据类型

n 转换规则byte,short,char—int—long—float—double

n 注意事项byte,short,char相互之间不转换,他们参与运算首先转换为int类型

n 格式: 范围大的数据类型变量 = 范围小的数据类型值;

n 图解:

publicclass Demo09TypeCast {

    publicstaticvoidmain(String[] args) {

        //直接输出了运算的结果

        System.out.println(3+ 4);

       

        //定义两个int类型的变量

        inta = 3;

        intb = 4;

        intc = a + b;

        System.out.println(c);

       

        //定义一个byte类型,定义一个int类型

        bytebb = 2;

        intcc = 5;

        System.out.println(bb + cc);

       

        //我能不能不直接输出,用一个变量接收呢?

        //用变量接收,这个变量应该有类型

        //byte dd= bb + cc;//可能损失精度

        //byte,short,char类型在参与运算的时候会把自己提升为int类型

        intdd = bb + cc;

        System.out.println(dd);

    }

}

l 强制转换: 表示范围大的数据类型强制转换成范围小的数据类型

n 范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

n 不建议,有可能损失精度

n 代码演示

publicclass Demo10TypeCast {

    publicstaticvoidmain(String[] args) {

        inta = 3;

        byteb = 4;

        intc = a + b;

        //byte d = a+ b;//可能损失精度

        byted = (byte)(a + b);

    }

}

 

第3章     运算符

3.1     概述

l 运算符概述

n 对常量和变量进行操作的符号称为运算符       

l 表达式概述

n 用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。

n 定义两个int类型的变量a,b,做加法(a + b)

l 常用运算符

n 算术运算符

n 赋值运算符

n 关系运算符

n 逻辑运算符

n 三元运算符

 

3.2     算术运算符

l +-*/的基本用法

publicclass Demo01Operator {

    publicstaticvoidmain(String[] args) {

        // 定义两个变量

        inta = 3;

        intb = 4;

 

        System.out.println(a + b);

        System.out.println(a - b);

        System.out.println(a * b);

        System.out.println(a / b);

        // 整数相除只能得到整数,想要得到小数,就必须有浮点数参与运算

        System.out.println(3/ 4.0);

        System.out.println(3.0/ 4);

    }

}

l %的用法

n 得到的是两个相除数据的余数。

n 用处: 判断两个数据是否整除。

publicclass Demo02Operator {

    publicstaticvoidmain(String[] args) {

        inta = 5;

        intb = 3;

 

        System.out.println(a / b);//1

        System.out.println(a % b);//2

    }

}

l +的多种用法

n 数字相加

n 字符相加: 拿字符在计算机中底层存储对应的数据值来参与运算的

n 字符串相加: 这里的+其实不是加法,而是字符串连接符;字符串和其他类型的数据做拼接,结果是字符串类型的。

publicclass Demo03Operator {

    publicstaticvoidmain(String[] args) {

        //1.整数的加法

        inta = 10;

        intb = 20;

        System.out.println(a + b);

        System.out.println("------------------");

        //2.字符参与加法操作

        charc = '0';

        charc2 = 'a';

        System.out.println(a + c);

        System.out.println(a + c2);

        System.out.println("------------------");

        //3.字符串参与加法操作

        System.out.println("hello" + a);

        System.out.println("hello" + a+ b); //"hello"+10="hello10",然后再和b进行拼接

        System.out.println(a + b + "hello");//从左到右依次计算,先求和,在连接

    }

}

l ++--的用法

n ++,--运算符:对变量做加1或者减1操作

n ++,--既可以写在变量的后面,也可以写在变量的前面

n 单独使用:

     ++,--无论是写在变量的前面还是后面,结果是一样的;

n 和其它操作混合使用:

     如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--;

     如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作;

publicclass Demo04Operator {

    publicstaticvoidmain(String[] args) {

        inta = 10;

        System.out.println("a:" + a);

 

        // 单独使用

        // a++;

        // ++a;

        //System.out.println("a:" + a);

 

        // 参与操作使用

        // intb = a++;

        intb = ++a;

        System.out.println("a:" + a);

        System.out.println("b:" + b);

    }

}

3.3     赋值运算符

l 基本的赋值运算符:=

l 扩展的赋值运算符:+=-=*=/= %=

n 把左边和右边的结果赋值给左边。

n 注意:左边不能是常量

n 隐含了一个强制类型转换.

publicclass Demo05Operator {

    publicstaticvoidmain(String[] args) {

        // 10赋值给int类型的变量a

        inta = 10;

 

        // += 把左边和右边的数据进行运算,最后赋值给左边,左边的只能是变量

        a +=10;// 相当于a = a + 10

        System.out.println("a:" + a);

        System.out.println("----------------------");

 

        shorts = 10;

        // s += 20;// 相当于 s = s + 20;

        s = (short) (s +20);

        System.out.println("s:" + s);

    }

}

3.4     关系运算符

l ==!=><>=<=

l 关系运算符的结果都是boolean型,也就是要么是true,要么是false      

l 注意事项

n 关系运算符“==”不能误写成“=”。

publicclass Demo06Operator {

    publicstaticvoidmain(String[] args) {

        inta = 10;

        intb = 20;

        intc = 10;

 

        System.out.println(a == b);

        System.out.println(a == c);

        System.out.println("-----------------");

        System.out.println(a != b);

        System.out.println(a != c);

        System.out.println("-----------------");

        System.out.println(a>b);

        System.out.println(a>c);

        System.out.println("-----------------");

        System.out.println(a>= b);

        System.out.println(a>= c);

        System.out.println("-----------------");

 

        intx = 3;

        inty = 4;

        //System.out.println(x == y);

        //System.out.println(x = y);// y赋值给x,把x的值输出

        booleanbb = (x == y);

        // 报错

        // boolean cc= (x = y);

        intcc = (x = y);

    }

}

3.5     逻辑运算符

l 作用:逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6

应该写成x>3 &&x<6

l 基本使用:&(),|(),^(异或),!()

n 与:&      falsefalse

n 或:|       truetrue

n 异或:^     相同则false,不同则true

n 非:!        truefalse,falsetrue

publicclass Demo07Operator {

    publicstaticvoidmain(String[] args) {

        inta = 10;

        intb = 20;

        intc = 30;

 

        System.out.println((a>b) & (a>c));// false & false

        System.out.println((a<b) & (a>c)); // true & false

        System.out.println((a>b) & (a<c)); // false & true

        System.out.println((a<b) & (a<c)); // true & true

        System.out.println("---------------");

        System.out.println((a>b) | (a>c));// false | false

        System.out.println((a<b) | (a>c)); // true | false

        System.out.println((a>b) | (a<c)); // false | true

        System.out.println((a<b) | (a<c)); // true | true

        System.out.println("---------------");

        System.out.println((a>b) ^ (a>c));// false ^ false

        System.out.println((a<b) ^ (a>c)); // true ^ false

        System.out.println((a>b) ^ (a<c)); // false ^ true

        System.out.println((a<b) ^ (a<c)); // true ^ true

        System.out.println("---------------");

        System.out.println((a>b)); // false

        System.out.println(!(a>b)); // !false

        System.out.println(!!(a>b)); // !!false

    }

}

l &&&的区别

n &时,左边无论真假,右边都进行运算;

n &时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

n |”和“||”的区别同理,双或时,左边为真,右边不参与运算。

publicclass Demo08Operator {

    publicstaticvoidmain(String[] args) {

        inta = 10;

        intb = 20;

        intc = 30;

 

        System.out.println((a>b)&& (a>c));// false && false

        System.out.println((a<b)&& (a>c));// true && false

        System.out.println((a>b)&& (a<c));// false && true

        System.out.println((a<b)&& (a<c));// true && true

        System.out.println("---------------");

        System.out.println((a>b) || (a>c));// false || false

        System.out.println((a<b) || (a>c)); // true || false

        System.out.println((a>b) || (a<c)); // false || true

        System.out.println((a<b) || (a<c)); // true || true

        System.out.println("---------------");

 

        intx = 3;

        inty = 4;

        //System.out.println((x++ > 4) & (y++ > 5)); // false & false

        System.out.println((x++ > 4) && (y++> 5)); // false && false

        System.out.println("x:" + x);

        System.out.println("y:" + y);

    }

}

3.6     三元运算符

l 基本使用

n 格式

    (关系表达式)?表达式1:表达式2

    如果条件为true,运算后的结果是表达式1

    如果条件为false,运算后的结果是表达式2

n 示例:

    获取两个数中大数。

    int x=3,y=4,z;

   z = (x>y)?x:y;//z变量存储的就是两个数的大数。

publicclass Demo09Operator {

    publicstaticvoidmain(String[] args) {

        inta = 10;

        intb = 20;

 

        intc = (a>b) ? a : b;

        System.out.println("c:" + c);

    }

}

 

l 练习

n 比较两个数据是否相同

    publicclass Demo10Operator {

        publicstaticvoidmain(String[] args) {

            // 定义两个int类型的变量

            inta = 10;

            intb = 20;

 

            booleanflag = (a == b) ? true: false;

            // booleanflag = (a == b);

            System.out.println(flag);

        }

    }

n 获取三个整数中的最大值

    public class Demo11Operator {

        publicstaticvoidmain(String[] args) {

            // 定义三个int类型的变量

            inta = 10;

            intb = 30;

            intc = 20;

     

            // 先比较两个整数的大值

            inttemp = ((a>b) ? a : b);

            intmax = ((temp>c) ? temp : c);

            System.out.println("max:" + max);

        }

    }

第4章    键盘录入Scanner

4.1     概述

    我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。

4.2     引用数据类型的使用格式

    与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。

    1.导包:

    使用import导包,在类的所有代码之前导包(找到要使用的类型), java.lang包下的所有类无需导入,可以直接使用

    2.定义变量,并创建对象赋值:

    数据类型  变量名  =  new 数据类型();

    3.调用方法,每种引用数据类型都有其功能,我们可以调用该类型实例的功能:

    变量名.方法名();

4.3     基本使用步骤(目前先记住使用)

l 导包(位置放到class定义的上面)

    import java.util.Scanner;

l 创建对象

    Scanner sc = newScanner(System.in);

l 调用方法接收数据

    int x =sc.nextInt();

    public class Demo01Scanner {

        public static void main(String[] args) {

            //创建键盘录入数据的对象

            Scanner sc= new Scanner(System.in);

           

            //接收数据

            System.out.println("请录入一个整数:");

            inti = sc.nextInt();

           

            //输出数据

            System.out.println("i:"+i);

        }

    }

4.4     练习

l 键盘输入两个数据并求和

    public class Demo02Scanner {

        public static void main(String[] args) {

            // 创建对象

            Scanner sc= new Scanner(System.in);

     

            // 接收数据

            System.out.println("请输入第一个数据:");

            inta = sc.nextInt();

            System.out.println("请输入第二个数据:");

            intb = sc.nextInt();

            // 对数据进行求和

            intsum = a + b;

            System.out.println("sum:"+ sum);

        }

    }

l  键盘录入三个数据获取最大值

    public class Demo04Scanner {

        public static void main(String[] args) {

            // 创建对象

            Scanner sc= new Scanner(System.in);

     

            // 接收数据

            System.out.println("请输入第一个数据:");

            inta = sc.nextInt();

            System.out.println("请输入第二个数据:");

            intb = sc.nextInt();

            System.out.println("请输入第三个数据:");

            intc = sc.nextInt();

     

            // 如何获取三个数据的最大值

            inttemp = (a>b ? a : b);

            intmax = (temp>c ? temp : c);

     

            System.out.println("max:" + max);

        }

    }