数据类型和操作符
类(class)
方法(method)
四种变量:
1.属性(field)
实例变量(instance variable)
2.静态属性( static field)
类变量(class variable)
3.局部变量(local variable)
4.参数(parameter)
1.如何定义变量:
(数据类型 变量名(identifier))
1.直接加分号: 定义了分号,并且没有初始化
2.=value: 定义了变量,并且进行了初始化
int a; // 没有初始化
int a=10; //没有初始化
命名变量名(包括类名、方法名)一些规则(不遵守就会报错):
1.必须以字母或者下划线_ 或者美元符$开头,包括中文都可以
2.之后的部分可以是字母、下划线、美元符以及数字
3.变量名的长度可以是无限长的
4.变量名不能和java关键字冲突
5.是大小写敏感的 int java;int Java;它是不同的
2.命名的规范:
1.永远不要用美元符和下换线(下划线有个特例)
2.永远使用有意义的名字作为变量名,包括缩写
3.不要用中文以及拼音命名
4.类名称 每个单词的首字母都是大写的形式 class HelloWorldApp
方法名称 单个单词 ,除第一个单词外,首字母大写, int HelloWorldApp
变量名称
常量(不可以修改) 每个字母都大写,用下划线分割 final int COUNT_OF_COURSES=10;
5.类名称和变量名称 大概是个名词
方法名称 大概是个动词
对象:1.状态(属性) 2.行为(方法)
3.数据类型
1.基本数据类型 (primitive data type)
1.数值类型
1.整型 byte short int long
2. 浮点型 fioat double
2.布尔类型 boolean 真/假 true/ false
3.字符类型 char
char类型里保存的不是一个 ASCII编码,而是Unicode编码
ASCII 和 Unicode 字符编码标准
7位表示 31位(用两个字节够存常用字了,)
UTF-8 GB2312/GBK/B18030
重点:统一认准UTF-8
2.引用数据类型(reference data type)
2.字面量 (Literal)
int a=10;
1.整形的字面量
100; (int)
100L; (默认long)
进制
十进制 100 100L
十六进制 0xFF 0xFFL
二进制 0b11 0b101L (binary)
100(默认int 性的字面量) byte a=100;(可存) byte b=223
short(较特殊,可存) long
100L(long性的字面量) int a=100L;
2.浮点型的字面
1.0 (double) 科学表示法
1.0F 1.0f (float)
double a=1.0F; //没问题,可存
float b=1.0; //有问题,不允许
里氏转换原则
需要一个大范围的变量,放一个小范围的变量是自然而然的而且允许的
强制类型转换(type cast)
long a=100L;
int b=(int )a;
通常情况下:
小范围数据类型 a=大范围数; 不允许
大范围数据类型 b=小范围数; 允许,自然
特例:byte =数值(-128到127) 允许
short b=数值(-2^15到2^15-1)允许
3.char 以及String类型
字符 字符串
char c='中'; //用单引号
char c='\u4e2d' //用unicode转义序列(unicode escape sequence)
string s="中国";//用双引号
char的转义字符
\n \t \b \\ \' \" .......
String的加法
String a="中国"; String b="爱你";a+b的结果是“我爱中国”
int a=1;int b=1;
System.out.println("结果是”+a+b); //打印出:结果是11
System.out.println("结果是”+(a+b));//打印出:结果是2
3.运算符
赋值运算符 = 初始化 修改值
final int a=100; //a的值不能被修改
a=30; //编译出错
算术运算符 + - * / %
/向下取整除 5/3=1
一元运算符 ++ -- + +10 -10 !逻辑取反
int a=100; a++的值100,a的值变为101
++a的值101,a的值变为101
! 逻辑取反只能用于 boolean类型
int a=10; !a; //c语言合法,java不合法
比较运算符 == != > <= < >=
条件运算符 && || ?:
条件(只允许boolean类型) ? 结果1:结果2 如果为真为结果1,否则为结果2
注意:凡是逻辑运算都要用到boolean类型
短路特性
条件1 && 条件2 如果条件1的结果是假(false)
条件1 || 条件2 如果条件1的结果是真(true)
位运算符 ^ & | ~
int a=0b1111; ~a=0b0000;
n^2 异或 0b1010^0b1101==0b0111
位移运算符
<< >> >>>
0b11000 << 2==0b1000_00
0b11000 >> 2==0b110
>>和>>>的区别
>>带符号右移 >>>不带符号右移
instanceof 类型判断运算符
对象 instanceof 类型(类)==true | false