类型转换
public class TypeDemo1 { public static void main(String[] args) { byte a=20; int b=a;//自动类型转换 System.out.println(a); System.out.println(b);//类型范围小的变量,可以直接赋值给类型范围大的变量 char ch='a'; int code=ch; System.out.println(code); } }
强制类型转换格式
数据类型 变量名b=(数据类型)变量名a;
//强制类型变换 //类型范围大的变量,不可以直接赋值给类型范围小的变量 int m=20; byte n=(byte)m; System.out.println(n); int mm=1500; byte nn=(byte)mm; System.out.println(nn);//报错,只算了后八位 //强制类型转换导致数据丢失和溢出 double score=55.6; int sum= (int) score;//ale+enter强制转换快捷键 System.out.println(sum);//56
运算符
(代码讲解)
public class OperatorDemo {
public static void main(String[] args) {
int a = 3;
/* int b=2;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);//1
System.out.println(3/2);//1
System.out.println(3/2*1.0);//1.0
System.out.println(3*1.0/2);//1.5
System.out.println(a%b);//1
System.out.println("__________请输出数字的个位、十位、百位数字_________________");
int data=956;
int ge=data%10;
System.out.println(ge);
int shi=data/10%10;
System.out.println(shi);
int bai=data/100;
System.out.println(bai);*/
//+除了做基本运算符,还可以做连接符
System.out.println("abc" + 'a');//abca
System.out.println("abc" + a);//abc3
System.out.println(5 + a);//8
System.out.println("abc" + 5 + 'a');//abc5a
System.out.println(15 + "abc" + 15);//15abc15
System.out.println(a + 'a');//100
System.out.println(a + "" + 'a');//3a
System.out.println(a + 'a' + "我爱中国");//100我爱中国
System.out.println("我爱中国" + a + 'a');//我爱中国3a
System.out.println("我爱中国" + (a + 'a'));//我爱中国100
//自增自减运算符
int p = 10;
++p;
System.out.println(p);
--p;
System.out.println(p);
/* int q=10;
int Q=q++;//先使用,再++
System.out.println(q);//10
System.out.println(Q);//11
*/
int q = 10;
int Q = ++q;//先++ 在使用
System.out.println(q);//11
System.out.println(Q);//11
System.out.println("_______________拓展案例__________________");
int c = 10;
int d = 5;
//c 11 12 11
//d 4 5
//rs3 11+11-4-5+1+12
int rs3 = c++ + ++c - --d - ++d + 1 + c--;
System.out.println(c);//11
System.out.println(d);//5
System.out.println(rs3);//26
System.out.println("________________赋值运算符__________________");
//= += -= /= *= %=
int j=10;
int k=20;
j+=k;//j=k+j
System.out.println(j);
System.out.println("_____________关系运算符___________________");
int i=10;
int l=100;
boolean rs=i==l;
System.out.println(rs);
System.out.println(i!=l);
System.out.println(i==l);
System.out.println(i>l);
System.out.println(i>=l);
System.out.println(i<l);
System.out.println(i<=l);
System.out.println(i=l);
System.out.println("_____________逻辑运算符____________________");
//& | ! ^
double size=9.8;
double storage=6;
System.out.println(size >= 6.95 & storage >= 8);//逻辑与
System.out.println(size >= 6.95 | storage >= 8);//逻辑或
System.out.println(!true);
System.out.println(!false);//逻辑非
System.out.println(false^true);//逻辑异或
System.out.println(true^true);
System.out.println("&&短路与 || 短路或");
System.out.println(size>=10&&++storage>5);//前一个位false,后一个条件不执行
System.out.println(storage);
System.out.println(size>=9||++storage>5);//前一个位true,后一个条件不执行
System.out.println(storage);
System.out.println(size>=10&++storage>5);
System.out.println(storage);
System.out.println("_________________________三元运算符__________________");
//格式条件: 条件表达式?值1:值2;
//若条件表达式值位true,返回值1,若为false,返回值2
double score2=98;
String rs2=score2>=60? "考试通过":"挂科";
System.out.println(rs2);
//需要从2个整数中找到最大值
int aa=10;
int bb=56;
int max=aa>bb?aa:bb;
System.out.println(max);
System.out.println("____________________案例________________________________");
int mm=10;
int nn=20;
int dd=30;
int temp=mm>=nn?mm:nn;
int max2=temp>=dd?temp:dd;
System.out.println(max2);
System.out.println("_____________________拓展__________________________________");
int max3=mm>nn? (mm>dd? mm:dd):(nn>dd?nn:dd);
System.out.println(max3);
}
案例:键盘录入技术
package com.java.scanner;
//1.导包
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//得到一个键盘扫描器对象
Scanner sc=new Scanner(System.in);
//调用sc对象的功能等待接收用户输入的数据
System.out.println("请输入您的年龄 :");
int age=sc.nextInt();
System.out.println("您的年龄是:"+age);
System.out.println("请输入您的名称");
String name=sc.next();
System.out.println("欢迎:"+name);
}
}
运行结果图: