- 数据类型
- 整数: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;
}
}
}