/*
自动类型转换 小的数据类型向大的数据类型转换,不会造成数据精度丢失
转换格式:
byte --> short
-->int --> long --> float -->double
char
byte和short不能直接转换成char
在参与运算的时候,如果有高类型的数据参与运算,所有数据自动转换成高类型的数据
*/publicclassDemo01{publicstaticvoidmain(String[] args){char c ='a';
System.out.println(c);int i = c;
System.out.println(i);int x =100;long y = x;
System.out.println(x);
System.out.println(y);
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_EXPONENT);//byte和short不能直接转换成char/*byte b = 10;
short e = 10;
char d = b;
char h = e;
*///在参与运算的时候,如果有高类型的数据参与运算,所有数据自动转换成高类型的数据float f1 =3.14F;int f2 =314;double f4 =5.12;double f3 = f1+f2+f4;}}
/*
大的数据类型,向小的数据类型转换,
有可能造成数据精度丢失,
1.如果大的数据类型存储数值,在小的数据类型的取值范围内,就不会造成数据精度的丢失
2.如果大的数据类型存储数值,超出了小的数据类型的取值范围,就会造成数据精度丢失
格式:
目标数据类型 变量名 = (目标数据类型)变量名或值;
*/publicclassDemo02强制类型转换 {publicstaticvoidmain(String[] args){int a =10;
a =130;byte b =(byte) a;
System.out.println(a);
System.out.println(b);}}
2.键盘录入 Scanner
步骤:
1.导包
import java.util.Scanner
2.创建对象
Scanner sc =newScanner(System.in);3.接收数据
int num = sc.nextInt();
// 1.导包import java.util.Scanner;/*
步骤:
1.导包
import java.util.Scanner
2.创建对象
Scanner sc = new Scanner(System.in);
3.接收数据
int num = sc.nextInt();
*/publicclassDemo01{publicstaticvoidmain(String[] args){//2.创建对象
Scanner sc =newScanner(System.in);//3.接收数据
System.out.println("请输入一个整数:");int num = sc.nextInt();
System.out.println("键盘录入的数据是:"+num);//byte b = sc.nextByte();//补全代码 alt+回车
System.out.println("请输入一个字符串:");
String s = sc.next();
System.out.println(s);/* System.out.println("请输入一行字符串:");
String s1 = sc.nextLine();
System.out.println(s1);*/}}
3.运算符
3.1算术运算符
/*
算术运算符:
+:求和
-:求差
*:求积
/:求商
%:求余
数学:5÷3 = 1......2
java:
1.求商
5/3 = 1
3/5 = 0
2.求余
5%3 = 2
3%5 = 3
*/publicclassDemo01算术运算符 {publicstaticvoidmain(String[] args){int a =10;int b =20;//+:求和int c = a + b;
System.out.println(c);//-:求差int d = a - b;
System.out.println(d);// *:求积int e = a * b;
System.out.println(e);//:求商int f = b / a;
System.out.println(f);int g = a / b;
System.out.println(g);//%:求余int h = b % a;
System.out.println(h);int i = a % b;
System.out.println(i);//如果有浮点型数据参与运算,获取的结果是浮点型的double x =3.0;double y =6.0;
System.out.println(x / y);}}
#### 3.2练习
```java
import java.util.Scanner;/*
键盘录入一个求各个位上数字
分析:
1.键盘录入
导包 import java.util.Scanner
创建对象
Scanner sc = new Scanner(System.in);
接收数据
int num = sc.nextInt();
2.获取这个四位数各个位上数字
2.1 个位 num%10 1234%10==4
2.2 十位 num/10%10 1234/10 ==123 123%10 ==3
2.3 百位 num/100%10 1234/100==12 12%10 ==2
2.4 千位 num/1000%10
*/publicclassDemo02练习 {publicstaticvoidmain(String[] args){
Scanner scanner =newScanner(System.in);
System.out.println("请输入一个四位数:");int num = scanner.nextInt();// 2.获取这个四位数各个位上数字int ge = num%10;int shi = num/10%10;int bai = num/100%10;int qian = num/1000%10;
System.out.println("个位:"+ge);
System.out.println("十位:"+shi);
System.out.println("百位:"+bai);
System.out.println("千位:"+qian);}}
3.3字符的加操作
/*
字符的加操作,先把字符转成int类型的ASCII码值,在参与运算,结果是int类型的
byte short char 三种数据类型的数据在参与运算的时候,首先要转成int类型的值,在参与运算,结果是int类型的,
如果有高类型的参与运算结果是高类型的数据
*/publicclassDemo03{publicstaticvoidmain(String[] args){char c ='a';int i = c;
System.out.println(i);int j ='A';
System.out.println(j);int x ='0';
System.out.println(x);int y ='0'+1;
System.out.println(y);char d ='A';int e = d+c;
System.out.println(e);byte f =10;byte g =20;int s = g + f;
System.out.println(s);short s1 =30;short s2 =40;int s3 = s1 + s2;
System.out.println(s3);}}