类型转换
低-------------------------------------->高
byte,short,char-->int-->long-->float-->doule
变量
-
java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
注意事项:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
变量作用域
-
类变量
-
实例变量
-
局部变量
public class Variable{ static int allClicks=0;//类变量 String stc="hello world";//实例变量 public void method(){ int i=0;//局部变量 } }
import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks; public class D3 { //类变量 static static double salary=2500; //属性:变量 //实例变量:从属对象; 如果不自行初始化,这个类型的默认值为0 //布尔值:默认是false //除了基本类型,其余的默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字=new d3(); d3 a3=new d3(); System.out.println(a3.age); System.out.println(a3.name); //类变量 static System.out.println(salary); } }
常量
-
常量(Constant):初始化()后不能再改变值!不会变动的值
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名=值; final double PI = 3.14;
-
常量名一般使用大写字母
public class D4 { //修饰符,不存在先后顺序 static final double PI=3.14; public static void main(String[] args) { System.out.println(PI); } }
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 :lastName
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Mam,GoodMan
-
方法名:首字母小写和驼峰原则:run(),runRun()
运算符
算术运算符:+,-,*,/,%,++,--
package operator; public class A1 { public static void main(String[] args) { //二元运算符 //Ctrl+D:复制当前行到下一行 int a=10; int b=20; int c=30; int d=40; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); } }
package operator; public class A2 { public static void main(String[] args) { long a=32433433L; int b=23; short c=34; byte d=3; System.out.println(a+c+d); System.out.println(a+c); System.out.println(a+d); System.out.println(c+d); System.out.println(b+d); System.out.println(b+c); } }
package operator; public class A3 { public static void main(String[] args) { //关系运算符返回的结果:布尔值 true false int a=10; int b=20; int c=23; System.out.println(c%a);//取余,模运算 System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); } }
package operator; import javafx.stage.PopupWindow; public class A4 { public static void main(String[] args) { //++ -- 自增 自减 一元运算符 int a=3; System.out.println(a); int b=a++;//a先赋值给b,再自增 System.out.println(a); int c=++a;//a先自增,再赋值给c System.out.println(a); System.out.println(b); System.out.println(c); //幂运算2^3 我们会使用一些工具了类来操作 double pow=Math.pow(2,3); System.out.println(pow); } }
赋值运算符=
关系运算符:<,>,<=,>=,==,!= instapceof
逻辑运算符:&&,||,!
package operator; //逻辑运算符 public class A5 { public static void main(String[] args) { boolean a=true; boolean b=false; System.out.println("a&&b:"+(a&&b)); System.out.println("a||b:"+(a||b)); System.out.println("!(a&&b):"+!(a&&b)); System.out.println("!(a||b):"+!(a||b)); //短路运算 int c=3; boolean d=(c<3)&&(c++<3);//第一个条件为false时,第二个条件不执行 System.out.println(c); System.out.println(d); } }
位运算符:&,|,^,~,>>,<<,>>>
package operator; //位运算: public class A6 { public static void main(String[] args) { /* A=0011 1100 B=0000 1101 --------------- A&B=0000 1100 A|B=0011 1101 A^B=0011 0001 ~B =1111 0010 */ System.out.println(3<<2); /* 将3的八位二进制数整体左移2位 3:0000 0011 12:0000 1100 */ System.out.println(13>>3); /* 将13的八位二进制数整体右移3位 13:0000 1101 1:0000 0001 */ } }
条件运算符 x? y:z
package operator; //三元运算符 public class A8 { public static void main(String[] args) { int score=80; String type=score<60?"不及格":"及格"; /* x?y:z 如果x==true,则结果为y,否则为z */ System.out.println(type); } }
扩展赋值运算符:+=,-=,*=,/=
package operator; public class A7 { public static void main(String[] args) { int a=10; int b=20; a+=b;// a=a+b System.out.println(a); a-=b;// a=a-b System.out.println(a); //字符串连接: + System.out.println(""+a+b); //字符串在前,将两数值连接起来 System.out.println(a+b+""); //字符串在后,两数值进行求和运算 } }