Java数据类型与运算符

变量

public class Course0508{ //类(class)
  int field;  //(1)
  static int staticField;  //(2)
  
  public static void method(int param1,int param2){  //(4)方法(method)
    int variable1;  //(3)
    int varable2;  //(3)
  }
}

上面代码中四种变量:
1.属性(field) 实例变量(instance variable)
2.静态变量(static field) 类变量
3.局部变量(local variable)
4.参数(parameter)

定义变量
数据类型 变量名(identifier)
两种定义变量的方法:
1.只定义变量不进行初始化:int a;
2.定义变量并进行初始化:int a = 100;

变量(包括类名、方法名)命名的一些规则
1.变量名以字母、数字、下划线、美元符组成
2.开头必须以字母、下划线或美元符,不能以数字开头
3.变量名可无限长
4.变量名不可以与Java关键字起冲突
5.Java中有严格的大小写规范int java;int JAVA;两者不同

命名的规范:
1.不要用美元符和下划线命名 (下划线有特例)
2.使用有意义的名字或缩写作为变量名,但注意不要用中文或拼音命名
3.类名每个单词首字母大写 Class HelloWorld
方法名称 单个单词除第一个外其他首字母大写int helloWorld
常量 每个字母都大写用下划线分割(不可修改)

final int COUNT_OF_COURSES = 100;

数据类型

Java中八大数据类型

Java数据类型与运算符
其中char 类型里保存的不是一个ASCII码(7位)而是Unicode编码(31位)

字面量(literal)

1.整型的字面量
100 (int)
100L (long)
进制表示:
十进制 100 100L

int long
十进制 100 100L
十六进制 0xFF 0xFFL
二进制 0b1010 0b1010L

2.浮点型字面量
0 (double)
0F/0f (float)

double a = 1.0F;  //没有问题
float b = 1.0;  //不允许的

double可以保存的数字是最大的,float范围小于double,如果要使用float,必须强制类型转换,在小数后加F或f

强制类型转化(大的数据类型转为小的数据类型,必须强制转换,但有时会丢失内容)

long a = 100L;
int b = (int ) a; //将长整型强制转换为整型

char型和String型 字符和字符串

char c =  'c';   //用单引号
String s = "sjfhigv";    //用双引号

String 的加法运算:
String可以使用“+”表示两个字符串的连接

String a = "hello";
String b = "world";
String s = a+b; //两个字符串的连接

int numA = 10;
double numB = 10.5;
String result = "计算结果:"+numA + numB;//此时“+”不是数学运算而是字符连接

运算符

算术运算符Java与c语言中类似,在这里就不过多介绍

但是注意!凡是用到逻辑运算的地方必须用Boolean布尔类型,如逻辑取反只能用Booleanint a = 10; !a ; //在c语言中合法,在Java中不合法

条件运算符(&& , || , ?:)
&&与 || 的短路特性:
条件1 && 条件2,如果条件1结果为假,假,条件2不再判断
条件1 || 条件2,如果条件1结果为真,真,条件2不再判断

三目运算符(?:)!!重点
三目是一种赋值运算,根据条件判断要赋哪个值
语法格式:数据类型 变量 = 布尔表达式?满足时赋值:不满足时赋值

int x = 3;
int y = 4;
int z = 3 > 4?x*y:x+y;

位运算符 (~,&,|,^)

int a = 0b1111;
~b == 0b0000;
0b1111 & 0b0011 == 0b0011;
0b1010 | 0b0011 == 0b1011;
0b1010 ^ 0b1101 == 0b0111;