- 数据类型
- 整数:byte,short,int,long(分别占用1、2、4、8个字节)
- 使用大数的时候要在后面加上L来注明(999999L)
- 浮点数:float,double(4、8)
- 默认为double类型,所以使用float也要在后面加上F
- 字符:char(2)
- 布尔:boolean(1)
- 类型转换
- 小数据可以直接赋给大数据(数据包含范围)
- 大数据赋给小数据需要强制转换(int)88.88、(int)(a+b)
- 多种基本类型运算会使数据类型升级(byte,short,char)(所以赋给char会错误)(int,long,float,double)
- 字符串的加操作就是字符串的拼接,”i:”+10=i:10
- 特例1+99+“年黑马”=100年黑马,即先执行算术加法运算
- +=运算隐含了强制类型转换(即不需要考虑)
- 关于运算
- 布尔运算(逻辑判断)的结果可以显示为ture或者false
- 逻辑运算有(&与)(|或)(^异或(两者真值相同为false不同为ture))(!非运算)
- 短路运算符(&&和||),在确定结果时不进行下一项的判断和运行,其他与逻辑运算符一致。例如:真||(),括号内不会执行,因为结果确定为ture。(与&&左假,或||左真,会短路)
- 三元运算符,max=(a>b)?a:b;
- 分支结构
- 语句1:if( ){……;}
语句2:
if(){......;}else{......;}
语句3:将2中的else替换成else if()即可
- 其他
- 关于数据测试:要测试正确数据,边界数据和错误数据
- 偶数累加:if(i%2==0)s+=i
- 任意数字指定位:x/10/10%10
- 输出:print 不换行,println 要换行
案例1:三个和尚
import java.util.Scanner;public class ThreeH {public static void main(String[] args){Scanner th=new Scanner(System.in);int temph,max;int h1=th.nextInt();int h2=th.nextInt();int h3=th.nextInt();temph=(h1>h2)?h1:h2;max=(temph>h3)?temph:h3;System.out.println("max is "+max);}}
案例2:奇偶数判断
import java.util.Scanner;public class Number {public static void main(String[] args){Scanner n=new Scanner(System.in);int a=n.nextInt();if(a%2==0){System.out.println("输入了一个偶数");}else{System.out.println("输入了一个奇数");}}}
案例3:switch的使用
import java.util.Scanner;public class Switch {public static void main(String[] args){Scanner sw=new Scanner(System.in);System.out.println("请输入数字1~3:");int sc= sw.nextInt();switch(sc) {case 1:System.out.println("你输入的是数字1");break;case 2:System.out.println("你输入的是数字2");break;case 3:System.out.println("你输入的是数字3");break;default:System.out.println("你输入数据有误");break;}}}
