算数运算符
/*
运算符之一:算术运算符
// + - * / (前)++,(后)-- (后)++,(前)--
*/
//除号:/ int num1=12; int num2=5; int result1 = num1/num2 ; System.out.println(result1);//2只保留整数 int result2 = num1/num2*num2 ; System.out.println(result2);//10 double result3=num1/num2;//int型自动转换为double System.out.println(result3);//2.0 double result4=num1/num2+0.0;//2.0 int型自动转换为double double result5=num1/(num2+0.0);//2.4 num2先自动转换为double 然后num1自动转换为double 两者进行运算 double result6=(double)num1/num2;//2.4num1先进行强转为double ,num2自动转换为double,两者进行运算 double result7=(double)(num1/num2);//2.0 两者先进行运算,然后再进行强转为double System.out.println(result4); System.out.println(result5); System.out.println(result6); System.out.println(result7); //%:取余运算 //结果符号与被模数的符号相同 //开发中。经常使用%来判断是否被除尽的情况 int m1=12; int n1=5; System.out.println("m1%n1="+m1 % n1);//2 int m2=-12; int n2=5; System.out.println("m2%n2="+m2 % n2);//-2 int m3=12; int n3=-5; System.out.println("m3%n3="+m3 % n3);//2 int m4=-12; int n4=-5; System.out.println("m4%n4="+m4 % n4);//-2 }
//前++:先自增1,后运算 //后++:先运算,后自增1 int a1=10; int b1=++a1; System.out.println("a1="+a1+"b1="+b1);//11 11 int a2=10; int b2=a2++; System.out.println("a2="+a2+"b2="+b2);//11 10
//注意点: short s1=10; //s1=s1+1; 编译失败:int不能自动转换为short //s1=(short)(s1+1);//正确 强制类型转换 s1++;//自增不会改变自身变量的数据类型 System.out.println("s1="+s1);// byte bb1=127; bb1++; System.out.println("bb1="+bb1);//-127 因为byte:-128-127 //前--同理 //后--同理
运算符之二 赋值运算符
//赋值符号 int i1=10; int j1=12; int i2,j2; //连续赋值 i2=j2=10; int i3=10,j3=10;
%=
int i4=12; i4%=2;//i4=i4%2; System.out.println(i4);//0
//+=2的两种区别
short s1=10; //short s2= s1 +2; 编译失败 : 原因int类型不能自由转换为short类型 s1+=2;//结论:不会改变变量的数据类型 System.out.println(s1);//0
//开发中实现+2的操作,有几种方法?eg: int n1=10; //方法一:n1=n1+2; //方法二:n1+=2;(推荐) //开发中实现+1的操作,有几种 ? eg int n2=12; //方法一:n2=n2+1; //方法二:n2+=1; //方法三:n2++;(推荐)
运算符之三 :比较运算符
= = != > < <= >= instanceof
结论: 1.比较运算符的结果要么是true要么是false 2.==与=的区别(=是赋值运算符)
3.> < >= <= 比较的是数值类型的数据
4.== 和!= 不仅可以使用数值之间的数据,还可以使用引用之间的数据
int i1=20; int j1=10; System.out.println(i1==j1);//false System.out.println(i1=j1);//10 boolean b1=true; boolean b2=false; System.out.println(b1==b2);//false System.out.println(b2=b1);//true
运算符之四:逻辑运算符
运算符之四 :逻辑运算符
1.逻辑运算符操作的都是Boolean类型的变量
//区分&和&& //相同点1.:&和&&的运算结果都是相同的 //相同点2:当符号左边都是true时,二者都会执行右边的运算 //不同点3:当符号的左边都是flase时,&的右边会执行,&&的右边不会执行 //开发中推荐使用 &&
boolean b1=true; //b1=false; int num=10; if(b1&(num++>1)){ System.out.println("北京");//北京 }else{ System.out.println("南京"); }; System.out.println(num);//11 if(b1&&(num++>1)){ System.out.println("北京");//北京 }else{ System.out.println("南京"); }; System.out.println(num);//12 boolean b2=true; b2=false; int num1=10; if(b2&(num1++>1)){ System.out.println("北京");//北京 }else{ System.out.println("南京"); }; System.out.println(num1);//11 if(b2&&(num1++>1)){ System.out.println("北京"); }else{ System.out.println("南京");//南京 }; System.out.println(num1);//11
//区分| 和|| //相同点1:两者的结果都是相同的 //相同点2:如果符号左边的false时,两者都执行符号的右边 //不同点3:如果符号左边是true时,|执行符号的右边,||不执行符号的右边 开发中推荐使用 || boolean b3=true; int num3=20; if(b3|(num3++>1)){ System.out.println("北京");//北京 }else{ System.out.println("南京"); }; System.out.println(num3);21 boolean b4=true; int num4=20; if(b4||(num4++>1)){ System.out.println("北京");//北京 }else{ System.out.println("南京"); }; System.out.println(num4);//20
Scanner
如何从键盘获取不同类型的变量;需要使用Scanner类
具体步骤:1.导包,import java.util.Scanner;2.Scanner的实例化:Scanner scan=new Scanner(System.in);3.调用Scannner类中的相关方法,来获取指定类型的变量
注意需要根据相应的方法,来输入指定的类型的值。如果输入的数据类型和要求的数据类型不匹配时,会报异常InputMisMatchExcept导致程序终止
//1.import java.util.Scanner; import java.util.Scanner; public class ScannerTest{ public static void main(String [] args){ //.2.Scanner的实例化 Scanner scan=new Scanner(System.in); //3.调用Scannner类中的相关方法 int num=scan.nextInt(); System.out.println(num); System.out.println("请输入你的名字"); String name= scan.next(); System.out.println(name); System.out.println("请输入你的年龄"); int age=scan.nextInt(); System.out.println(age); System.out.println("请输入你的体重"); double weight=scan.nextDouble(); System.out.println(weight); System.out.println("你是否相中我了呢(true/false)"); boolean isLove=scan.nextBoolean(); System.out.println(isLove); //对于char类的获取,Scanner没有提供相关的方法 System.out.println("请输入你的性别(男/女)"); String gerder=scan.next(); char gerderChar=gerder.charAt(0); System.out.println(gerderChar);