字word、字节byte、位bit
一、大小关系
1 Byte = 8 Bits
1 Word = 2 Bytes = 16 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB
二、长度
以位bit为单位
Java注释:
一、文档注释(不允许嵌套)
/**
*
*
*/
二、多行注释(不允许嵌套)
/*
*
*
*/
三、单行注释
//
java规则
1.java中一条语句可以写在多行,但结尾必须有;
2.一个java源代码文件中,可以包含多个类的声明,但只能有一个类定义为public,且这个类的名字应与源代码文件名字一致
基本数据类型( 整数字面量默认为int类型、浮点数字面量默认为double类型 )
一、数值型
1.byte(8bits)、short(16bits)、int(32bits)
(1)有符号,范围由小到大,文字量默认为十进制数,也可以是八进制十六进制
(2)二进制字面量:在二进制数前加0d
(3)八进制字面量:在八进制数前加0
(4)十六进制字面量:在十六进制前加0x
2.long float double boolean
(1)long(64bits):有符号,文字量后跟l或L,如84l。
(2)float(32bits):有符号,文字量后跟f或F,如1.23F。
(3)double(64bits):有符号,文字量后跟D或d,如1.23D。
(4)boolean :文字量只能为ture或false,不能取1或0(与C++不同)
二、字符型:
1.char:单引号括起来的字符或者转义序列
2.转义序列:
\'单引号字符
\“双引号字符
\\反斜杠字符
\r回车
\n回车并换行
\t水平制表符(一个tab宽度)
\b退格
三、字符串
1.与C语言不同,不能用字符数组表示字符串,用JDK标准类集合中的String类
String a="123";
2.字符串变整数:int Integer.parseInt(String); 整数变字符串:StringString.valueOf(int);
Java常量
final Type name = ...; //不能被再次赋值
运算符与表达式:
一、算数运算符:++,--,+,-,*,/,%
二、赋值运算符:=,+=,-=,*=,/=,%=,<<=,>>=,>>>=,&=,^=,|=,
PS:a op= b等效于a=(T)(a op b),其中T为a的类型
三、关系运算符:结果永远是布尔类型true or false
1.关系比较运算符:<,>,<=,>=
2.类型比较运算符:instanceof,用于比较某个对象是否属于某个类型,例如:e instanceof Point
3.相等关系运算符:==,!=
四、逻辑运算符
与&&,或||,非!
五、条件运算符
expresson1?expression2:expression3
当表达式1为true,则选择表达式2的值,否则选表达式3的值
数组:
一、概念
1.数组是对象
2.数组需要动态初始化
3.可以赋值给Object类型的变量
4.在数组中可以调用类Object的所有方法
5.每个数组都有一个由publicfinal修饰的成员变量length,表示数组含有的元素个数
6.数组元素没有名字,只能通过数组名+下标访问
二、创建和使用
1.声明数组的引用(java中没有指针):无需指明元素个数,也不为数组分配内存空间,不能直接使用
Type [] Name 例如:int[] A
或 Type Name [] 例如:intA []
2.数组的创建(用关键字new):可以指明元素个数
Name=new Type [number] ,例如:int[ ] ai; ai= new int[10];
也可以将数组的声明和创建一并执行,例如:int ai[]=new int[10];
也可以一条声明中创建多个数组,例如:String[ ] s1=newString[3],s2=new String[8];
3.数组元素的初始化
创建数组若没有指定初始值,数组便被赋予默认初始值(java中不对数据初始化也不会产生垃圾数据,不同于C++):整数数据默认初始值为0,浮点数数据默认初始值为0.0,boolean数据默认初始值为false,引用类型元素默认初始值为null
将数组的声明,创建,初始化合三为一: int a []={11,22,33,44};
4.使用数组
引用数组的一个元素:Name[number] ,下标从0开始
元素个数为数组的长度,可以通过Name.length得到
数组名只是一个引用,如果把一个数组名赋值给另一个数组名,数组并没有产生一个副本,而是两个引用指向了同一个数组
复制数组或数组的部分元素的方法:
public static void.arraycopy( Objectsource,int srcIndex,Object dest ,int destIndex,int length)
source从哪个数组复制来,srcIndex从下标为几的元素开始复制,dest复制到哪个数组去,destIndex从下标为几的位置开始复制,length一共复制多少个值
给元素赋值的方法:
name[number]=...
三、二维数组
1.二维数组的声明和构造
int[] []Name; Name= new int[number] [number];
或int[] [] Name=new int [number][number];
或int[] [] Name={{1,2,3},{1,1,1},{3,4,5,6}};
2.二维数组的长度:一共多少行
每一行的长度:对应行的列数
所以二维数组就是由一维数组构成的数组
四、不规则多维数组
int[] []a={{1},{1,2},{1,2,3}};
算法的流程控制语句:
一、if语句:
1.if、if else、if else if else
二、switch语句:
switch(expression){
case value1: 表达式;
break;
case value2:表达式;
break;
.....
default: 表达式;
break;}
PS:
expression、value1、value2必须为整数或字符
default可有可无
三、for语句
1.普通for循环
for(start-expression;check-expression;update-expression){
...
}
2.增强for循环(java独有):用于对数组或集合对象进行遍历,集合或数组里有多少元素就进行多少次循环
for(Type name:数组或集合类型对象){
...
}
四、while语句
while(check-expression){
...
}
五、do-while语句
do{
...
}while(check-expression)
六、break语句(循环、switch)
1.switch结构中,用于终止switch语句的执行
2.在循环结构中,用于终止break语句所在的那层循环
七、continue语句(循环)
只能用于循环结构中
停止本次迭代,回头循环开始处,开始下一次迭代