一.变量,常量,数据类型
1.变量:
在Java中,变量分为两种:基本类型的变量和引用类型的变量。
a.八大基本数据类型:
- 整数类型:byte,short,int,long
- 浮点数类型:float,double
- 字符类型:char
- 布尔类型:boolean
不同数据类型占用的字节数不一样
byte,单字节
int,4字节
shortint,2字节
long,8字节
char,2字节,没有负,可表示中文。
boolean,单字节,按javac编译工具后理解是整形01.
float,4字节
double,8字节
b.基本类型的变量
了解了基本的数据类型,讲基本类型的变量。
变量必须先定义后使用,在定义变量的时候,可以给它一个初始值。
eg:int a = 1; 定义了一个int类型的变量,变量名为 a,变量值为 1;
其他类型的变量定义规则也是如此。
c.引用类型的变量
除了上述基本类型的变量,剩下的都是引用类型。例如,引用类型最常用的就是String
字符串:
String str = "str"; 关于字符串后面会详解。
二.转义字符
1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'
\0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535
\u0000:空字符
3.特殊字符:就3个
\":双引号
\':单引号
\\:反斜线
4.控制字符:5个
\' 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
三.运算符
1.算术运算符 +;-;*;/;%;++;--
加减乘除都好理解,跟数学计算一致。%是整数相除取余数。
++在前,先自加一再用
++在后,先用再自加一
--在前,先自减一再用
--在后,先用再自减一
2.赋值运算符 =;+=;-=;*=;/=
a += 1;//a=a+1
a -= 1;//a=a-1
a *= 1;//a=a*1
a /=1;//a=a/1
3.关系运算符 ==;!=;>;<;>=;<=(其结果都是boolean类型)
== 基本数据类型比较值,引用数据类型比较址。
!= 不等于 >;<;>=;<= 好理解
4.逻辑运算符 &;|;^;!;&&;||
有错(flase)则错(flase)【&】
有对(true)则对(true)【|】
相同则错(flase)【^】
不同则对(true)【^】
对就是错(flase)【!】
错(flase)就是对(true)【!】
&&和&
相同点:结果一样
不同点:&&有短路效果,若左边为flase,则右边不执行
&无论左边是true或flase,右边都会执行
||和|
相同点:结果一样
不同点:||有短路效果,若左边为true,则右边不执行
|无论左边是true或flase,右边都会执行
四.条件表达式
三元运算符
关系表达式?表达式1:表达式2
计算关系表达式的值看是true还是flase;
若是true则表达式1就是结果
若是flasez则表达式2就是结果
五.流程控制语句
1.顺序结构
比较简单,就是按顺序执行代码,一行行执行。
2.选择结构
选择结构主要有两种,if else和switch
a:if else结构
1.简单if else
if(条件){
执行的代码
}else{
执行的代码
}
2.if else if else
if(条件){
执行的代码
}else if(条件){
执行的代码
}else {
执行的代码
}
3.if
if(条件){
执行的代码
}
b:switch
int a = 1;
switch(a) {
case 1:
执行的代码
break;
case 2:
执行的代码
break;
case 3:
执行的代码
break;
case 4:
执行的代码
break;
case 5:
执行的代码
break;
case 6:
执行的代码
break;
case 7:
执行的代码
break;
default:
执行的代码
break;
}
六.循环语句
1.while循环
while(条件){
执行的代码
}
2.do-while循环
do{
执行的代码
}while(条件);
3.for循环
for(int i = 0; i < 10 ; i++){
执行的代码
}
七.数组
1.概念 同一种数据类型的数据集合,可以理解为一个容器。
2.定义 数据类型 [] 数组名称 = new
数据类型[长度];
eg:
int [] a = new int[3];
int[] a = new int[]{1,2,3,4};
int[] a = {1,2,3,4};
3.使用
定义数组
int a[] = {1,2,3,4,5};
取单个值
int b = a[0];
遍历数组
for(int i = 0; i < a.length;i++){
System.out.println(a[i]);
}
赋值
a[0] = 3;
八.字符串(String,StringBuilder与StringBuffer)
1.了解String : String类位于java.lang包下,是Java语言的核心类,提供了字符串的比较、查找、截取、大小写转换等操作;
1)String类被final关键字修饰,意味着String类不能被继承,并且它的成员方法都默认为final方法;字符串一旦创建就不能再修改。
2)String类实现了Serializable、CharSequence、 Comparable接口。
3)String实例的值是通过字符数组实现字符串存储的。
2.String类常用方法
a:length(); 返回string的长度
b:substring(); 返回截取的字符串
c:startsWith();endsWith();
d:contains();indexOf();
e:equals();
f:trim(); 去除前后的空字符串
j:split(); 将字符串以某个字符为分割标准,分割成数组
3.String,StringBuilder与StringBuffer
1)String是不可变字符序列,StringBuilder和StringBuffer是可变字符序列。
2)执行速度StringBuilder > StringBuffer > String。
3)StringBuilder是非线程安全的,StringBuffer是线程安全的。