一.基本类型的字面值
package Practice;
public class Day_03 {
public static void main(String[] args) {
//整数的类型默认是int类型。
int a = 10000;
//浮点数的类型默认是double类型。
double b = 1.3;
//如果想用float,需要在小数后加上f。
float c = 1.3f;
//byte,short,char三种比int小的整数可以直接用范围内的值直接赋值。
byte d = -128;
//L是long的缩写,在小数之后加l。
long e = 1000000000000l;
}
}
二.基本类型的类型转换
package Practice;
public class Practice_02 {
public static void main(String[] args) {
//小转大,直接转,称为隐式转换。
byte a = 20;
int b = a;
System.out.println(a);
System.out.println(b);
//大转小,需要加强制转换符号,称为显示转换。
//float(大)强行转化为int(小),那么就需要将大类型值进行小类型化处理。在大类型值前加(小类型)
float c = 10.1f;
int d = (int)c;
System.out.println(d);
}
}
三.基本类型的运算规则
package Practice;
public class Practice_03 {
public static void main(String[] args) {
//计算结果的类型与最大数据类型一致。
System.out.println(5/2);//结果为2。
System.out.println(5d/2);//结果为2.5。
//byte,short,char等比int小的类型在做运算时会自动转化为int类型。
byte a = 3;
byte b = 4;
int c = a + b;
byte d = (byte)(a+b);
System.out.println(c);
System.out.println(d);
//整数运算的益处,超出了计算范围需要加l。
System.out.println(300000000*60*60*24*365);
System.out.println(300000000l*60*60*24*365);
//浮点数运算不精确,输出结果无限接近。
System.out.println(1-0.9);
System.out.println(4.35*100);
//浮点数的特殊值。
System.out.println(3.14/0);//分母为0,得到结果infinity。
System.out.println(0/0.0);//分子分母都为0,得到结果NaN。
}
}
四.运算符
1.&(与)和&&(短路与)之间的区别。
&要求条件1和条件2都满足。
&&当发现条件1不满足时,表明结果已经为False,可以略过条件2,不再执行,提升效率。
2.测试自增自减。
package Practice;
//测试自增自减。
public class Practice_04 {
public static void main(String[] args) {
int a = 1;
System.out.println(a++);//结果为1,先计算,再加1。
int b = 1;
System.out.println(++b);//结果为2,先加1,再计算。
System.out.println(++a+b+a++);
//a的初始值为2,b的初始值也为2。3+2+(a++)。
//a的值经过++a后变为3。
//3+2+3=8
int c = 0;
System.out.println(c--);//结果为0。
int d = 0;
System.out.println(--d);//结果为-1。
System.out.println(--c-d-d--);
//c的初始值为-1,d的初始值也为-1。
//-2-(-1)-(-1) = 0
}
}
3.测试几个数中最大的值。
package Practice;
//测试,取最大的值。
import java.util.Scanner;
public class Practice_05 {
public static void main(String[] args) {
int a = 1;
int b = 2;
int max;
max = a>b?a:b;//三元运算符。
System.out.println("二者中的最大值为:" + max);
System.out.print("请输入第一个数a1:");
int a1 = new Scanner(System.in).nextInt();
System.out.print("请输入第一个数a2:");
int a2 = new Scanner(System.in).nextInt();
System.out.print("请输入第一个数a3:");
int a3 = new Scanner(System.in).nextInt();
int max1 = (a1>a2)?a1:a2;
max1 = (max1>a3)?max1:a3;
System.out.println("三者中的最大值为:" + max1);
}
}
4.鉴别平年和闰年。
package Practice;
//鉴别平年和闰年。
import java.util.Scanner;
public class Practice_06 {
public static void main(String[] args) {
//1.能被4整除,并且不能被100整除。
//2.或者能被400整除。
System.out.print("请输入年份:");
int year = new Scanner(System.in).nextInt();
if((year%4==0 && year%100!=0) || (year%400==0))
{
System.out.println(year + "是闰年");
}
else
{
System.out.println(year + "是平年");
}
}
}