一.
隐式转换
1.byte,short,char参与运算的时候,会自动提升为int类型
2.多种数据类型参与运算,结果以大的数据类型为准
3.数据类型从小大到的顺序为: byte,short,char,int,long,float,double
举例1: byte a=3; byte b=4; //byte c=a+b;//错误:a,b会自动提升为int,a+b的结果为int类型,不能用byte接收。 int c=a+b;//正确
举例2: byte a=3; int b=4; //byte c=a+b;//错误:a是byte类型,会自动提升为int,a+b的结果为int类型,
不能用byte接收。 int a+b;//正确:a会提升为int,a+b的结果也为int类型
举例3: char a='a'; //char c1=a+1;//错误:a是char类型,也会自动提升为int,'a'的ASCII值为97,97+1结果为98,
int类型,不能用char类型接收 int c2=a+1;//正确,结果为98
二.强制类型转换
格式:数据类型 变量名=(数据类型)被转换的数据;
-
int a=3;
-
byte b=4;
-
byte c=(byte)(a+b);//a+b的结果为7,但是我们知道7在byte的范围内,(byte)表示强制转换为byte类型 //注意:强制转换可能改变数据大小
三.Eclipse的配置
1)设置字体大小
windows-->Perference-->General-->Appearance-->Color And Font-->Basic-->Text Font-->选中字体大小
2)重置窗口
windows-->Perspcetive-->reset Perspcetive
3)窗口不见了
windows-->show View-->选择你需要的窗口
四.Eclipse的快捷键
(1)功能辅助键:alt+/
可以在写代码的时候,给我们提示
main+alt+/ 补全main方法
Syso+alt+/ 补全输出语句
(2)其他快捷键【重点】
ctrl+/
添加(取消)单行注释
ctrl+shift+/
添加多行注释
ctrl+shift+
取消多行注释
ctrl+d
删除代码
ctrl+alt+下
复制代码(可能和Intel显他软件冲突)
ctrl+shift+F(可能和搜狗输入法冲突了)
格式化代码
ctrl+shift+o
导包
alt+上/下
向上,向下移动代码
ctrl+1
自动修正(哪里有错,就在哪里ctrl+1)
更改快捷键:
window-->preference-->General-->keys-->搜索快捷键并更改-->apply-->OK
五.导入和删除项目
1)导入项目
【注意】具有项目结构的目录,才能导入到Eclipse中
右键-->Import-->existing projects into workspace-->browse--选择项目路径-->finish
选中copy projects into workspace 表示从工作空间中删除
2)删除项目
选中项目-->右键-->delete
运算符分类
-
+ - * / % ++ -- /(除法):整数相除只能得到整数 如: int a=5; int b=2; int c=a/b;//c的结果是2 %(取余):取余数 如: int a=5; int b=2; int c=a%b;//c的结果是1 +符号的几种用法 1)加法运算 int sum=3+4;//加法,sum=7 char c='a'; //'a'对应的整数是97 int d=c+1;//'a'会自动转换为int,结果也是int类型 System.out.println(d);//结果:98 2)字符串的连接符 任何数据类型和字符串做“+”运算,其实就是拼接 System.out.println("java"+10);//结果:java10 System.out.println(true+"java");//结果:truejava System.out.println(10+3+"true"+"java");//结果:13truejava ++和--:表示自增1或者自减1 单独使用: ++(--)放在操作数的前面和后面,结果都是一样的,都要自增1(自减1) 举例: int a=3; int b=5; a++; 或者 ++a//自增1后,a的结果为4 b--; 或者 --b//自减1后,b的结果为4 参与其他运算 1)++(--)放在操作数的前面,先自增(自减),再去做其他运算 int a=3; int b=++a;//先让a自增1,a=4;再把a的结果赋值给b,b=4 //等价于a++; b=a; System.out.println("a="+a);//a=4; System.out.println("b="+b);//b=4; 2)++(--)放在操作数的后面,先做其他运算,后自增(自减) int a=3; int b=a++;//先把a的值3赋值给b,b=3;再让a自增,a=4 //等价于int b=a; a++; System.out.println("a="+a);//a=4; System.out.println("b="+b);//b=3; 总结:不管++(--)放在操作数的前面还是后面,最终都得+1或者-1
-
2.赋值运算符【重点】
基本的赋值运算符:= 扩展的赋值运算符:+= -= *= /= %= 运算规律: 把左边和右边的运算结果赋值给左边 举例: int a=3; a+=3;//a的结果就是6 注意事项: short s=1; s+=1; 等价于 s = (short)(s+1);
-
3.关系运算符【重点】
> >= < <= == != 注意==和=的区别 ==:比较是否相等 =:赋值运算
-
4.逻辑运算符【重点】
逻辑运算符必须是对boolean类型进行运算,结果也是boolean类型 &与 |或 ^异或 !非 &与:两边都是true,结果才是true;否则结果是false |或:两边都是false,结果才是false;否则结果是true ^异或:相同为false,不同为true !非:true则false,false则true &&和|| &&和&的区别 &&有短路效果:左边为false,右边不执行 &左右两边都要执行 ||和|的区别 ||有短路效果:左边为true,右边不执行 |左右两边都要执行 总结:实际开发中用&&和||,就欧了!!!
-
5.三元运算符【重点】
格式:关系表达式?表达式1 : 表达式2
执行流程: A:先判断关系表达式的结果是true,还是false B: 如果是true,就执行表达式1 如果是false,就执行表达式2 //举例1:定义两个变量a=3,b=4;求a和b的最大值 public class Test1{ public static void main(String[] args){ //定义两个变量a=3,b=4; int a=5; int b=10; //求a和b的最大值,把结果赋值给mm int mm=(a>b?a:b); System.out.println("最大值为:"+mm); System.out.println("最大值为:"+(a>b?a:b)); //求a被b的最小值,把结果赋值给nn int nn=a<b?a:b; System.out.println("最小值为:"+nn); System.out.println("最小值为:"+(a<b?a:b)); } } /* 案例2:定义三个变量a=3,b=4,c=5;求a和b,c的最大值 分析: A:先比较a和b的最大值,赋值给max B:再让max和c进行比较,重新赋值给max */ class Test2{ public static void main(String[] args){ //定义三个变量a=3,b=4,c=5 int a=3,b=4,c=5; //可以在一行定义多个变量,用","隔开 //求a和b,c的最大值 //A:先比较a和b的最大值,赋值给max int max=a>b?a:b;//max=4 //B:再让max和c进行比较,重新赋值给max max=max>c?max:c; //max=5 System.out.println("三个数最大值为:"+max); } }
-
运算符练习
重要:写代码其实就是一个翻译的过程,把题意中主要的信息摘出来,用代码去逐条翻译
- 1.从题干中摘取有用信息
-
2.用代码取翻译
/* 中百超市苹果的价格为3块一斤,现在有78块钱 问:你最多能买几斤苹果?还剩多少钱? 如果剩下的钱多余10块,就输出true; 如果剩下的钱少于10块,就输出false */ public class Test{ public static void main(String[] args){ //苹果的价格为3块一斤 int applePrice=3; //现在有78块钱 int money=78; //你最多能买几斤苹果? int count=money/applePrice;//数量=总价/单价 System.out.println(money+"块钱可以买"+count+"斤苹果"); //还剩多少钱? int shengYu=money%applePrice; System.out.println(money+"块钱买了"+count+"斤苹果,还剩"+shengYu+"块钱"); // 如果剩下的钱多余10块,就输出true; System.out.println(shengYu>10); } }
四、键盘录入【重点】
-
1.键盘录入的步骤
1)导包 import java.util.Scanner; 2)创建键盘录入对象 Scanner sc=new Scanner(System.in); 3)获取键盘录入数据 int num1=sc.nextInt(); //等待用户键盘录入数据,只能录入int类型的数据
-
练习1:键盘录入2个整数,求两个整数的和
import java.util.Scanner; public class Test1{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入第一个整数:"); int a=sc.nextInt(); System.out.println("请输入第二个整数:"); int b=sc.nextInt(); //求a和b的和 System.out.println(a+"+"+b+"="+(a+b)); } }
-
练习2: 键盘录入2个整数,求两个整数的最大值
import java.util.Scanner; public class Test2{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入第一个整数:"); int a=sc.nextInt(); System.out.println("请输入第二个整数:"); int b=sc.nextInt(); //求a和b的最大值 int max=a>b?a:b; System.out.println("a和b的最大值为:"+max); } }
-
练习3:键盘录入3个整数,求三个整数的最大值
import java.util.Scanner; public class Test3{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入第一个整数:"); int a=sc.nextInt(); System.out.println("请输入第二个整数:"); int b=sc.nextInt(); System.out.println("请输入第三个整数:"); int c=sc.nextInt(); //先求a和b的最大值,赋值给max int max=a>b?a:b; //再让max和c进行比较,把大的值重新赋值给max max=max>c?max:c; System.out.println("a和b,c的最大值为:"+max); } }
-
位移运算符