第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 与:& 有false则false
n 或:| 有true则true
n 异或:^ 相同则false,不同则true
n 非:! true则false,false则true
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);
}
}