1、学习技术:
1.1数据类型转换
自动转换
强制转换
1.2运算符
算术运算符
关系运算符
逻辑运算符
赋值与拓展
2、学习详情:
2.1 数据类型转换
自动转换:
由小的数据类型转换成大的数据类型时,会进行自动转换,注意boolean类型无法转换数据类型。
大类型 变量名=小类型值
`public class change{`
. public static void main(String[] args){
. int a=39;
. double c=a;
. System.out.println(c); //输出结果为39.0
. }
`. }`
强制转换:
小类型 变量名=(大类型) 大类型的值
如果强制转换超出范围,结果会有问题。
. public class change{
. public static void main(String[] args){
. double a=39.9;
. int b=(int)a;
. System.out.println(b); //输出结果为39
. }
. }
2.2运算符
算术运算符
+ 用途:①正号
②加法运算
③连接符号
- 号用途:①负号
②减法运算
、 /分别代表:乘法运算与除法运算
++、–:自增1与自减1。
如果++是一条单独语句的时候,前加和后加一样的,都是自增1 。
如果不是一条单独语句的时候:
①++在前:先自增,再运算
②++在后:先运算,再自增
%:取余
Tips:练习代码:9876,分别取出每一位
public class count{
public static void main(String[] args){
int num=9876;
int s=9876%10;
System.out.println("9876的个位是:"+s);
s=(9876/10)%10;
System.out.println("9876的十位是:"+s);
s=(9876/100)%10;
System.out.println("9876的百位是:"+s);
s=(9876/1000);
System.out.println("9876的千位是:"+s);
}
}
关系运算符
1、>、<、>=、<=、均可用于比较基本数据类型,、!=用于比较引用类型。最后得到的结果都是一个boolean值。
逻辑运算符
1、&、|、!、&&、||左右连接的值只能是布尔类型。
2、&、&&:前后全为true则为true否则为false
3、|、||:前后全为false则为false否则为true
4、&& || 称之为短路与和短路或,&&如果第一个操作数为false其结果就是false不会执行第二个操作数。
|| 如果第一个操作数为true,整个结果就为true,不会执行第二个操作数。
Tips:代码例
public class text{
. public static void main(String[]args){
. int a=5;
. int b=6;
. boolean c= a>b&a++>b;
. System.out.println(c);
. System.out.println(a);
. a=5;
. b=6;
boolean d= a>b&&a++>b;
. System.out.println(d);
. System.out.println(a);
. }
. }
同样的代码,前者输出结果为,false 6,后者输出结果为false 5.
因为前者用的是&,及时&前面表达式为false,依然会计算后面的a++,而&&当前面表达式未false时候则不会计算后面的a++。
赋值与拓展
扩展运算符:+= *= /= %=
缺点:不利于阅读
优点:①简化代码量
②提高编译效率
③自动进行强制转换
条件运算符
三目运算符
格式:
表达式1?表达式2:表达式3
首先计算表达式1 的值,永远只能是true或者是false
如果表达式1的值是true ,这个三目运算符的结果是表达式2的值。
如果表达式1的值是false,这个三目运算符的结果是表达式3的值。
需要有一个变量接受计算结果。
Tips:表达式中类型会自动提升。
小练习:简单的登录类
import java.util.Scanner;
. public class login{
. public static void main(String[] args){
. String Rusername="18779774517";
. String Ruserpwd="ljh123456";
. Scanner input=new Scanner(System.in);
. System.out.println("请输入你的用户名:");
. String Lusername=input.next();
. System.out.println("请输入你的密码:");
String Luserpwd=input.next();
. boolean s=(Rusername.equals(Lusername))&&(Ruserpwd.equals(Luserpwd));
. System.out.println(s?"成功登陆!":"账号密码错误!");
.
. }
. }