第1章 Java语言基础知识

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.byte8bits)、short16bits)、int32bits

(1)有符号,范围由小到大,文字量默认为十进制数,也可以是八进制十六进制

(2)二进制字面量:在二进制数前加0d

(3)八进制字面量:在八进制数前加0

(4)十六进制字面量:在十六进制前加0x

2.long float double boolean

(1)long64bits:有符号,文字量后跟lL,如84l

(2)float32bits:有符号,文字量后跟fF,如1.23F

(3)double64bits:有符号,文字量后跟Dd,如1.23D

(4)boolean :文字量只能为turefalse,不能取10(与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 = ...;  //不能被再次赋值

 

 

运算符与表达式:

一、算数运算符:++--+-*/%

二、赋值运算符:=+=-=*=/=%=<<=>>=>>>=&=^=|=

PSa op= b等效于a=T)(a op b),其中Ta的类型

三、关系运算符:结果永远是布尔类型true or false

1.关系比较运算符:<><=>=

2.类型比较运算符:instanceof,用于比较某个对象是否属于某个类型,例如:e instanceof Point

3.相等关系运算符:==,!=

四、逻辑运算符

&&,或||,非!

五、条件运算符

expresson1expression2expression3

当表达式1true,则选择表达式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.0boolean数据默认初始值为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.ifif elseif    else if    else

二、switch语句:

switchexpression{

      case value1: 表达式;

                             break

      case value2:表达式;

                             break

      .....

      default: 表达式;

                       break}

PS

expressionvalue1value2必须为整数或字符

default可有可无

三、for语句

1.普通for循环

forstart-expression;check-expression;update-expression{

...

}

2.增强for循环(java独有):用于对数组或集合对象进行遍历,集合或数组里有多少元素就进行多少次循环

forType name:数组或集合类型对象){

...

}

四、while语句

whilecheck-expression{

...

}

五、do-while语句

do{

...

}while(check-expression)

六、break语句(循环、switch)

1.switch结构中,用于终止switch语句的执行

2.在循环结构中,用于终止break语句所在的那层循环

七、continue语句(循环)

只能用于循环结构中

停止本次迭代,回头循环开始处,开始下一次迭代

你可能感兴趣的:(Java)