java基础-编程基础

java基础-编程基础
java基础-编程基础

java中的注释

→单行注释://注释内容

→多行注释:/*...注释内容....*/ →文本注释:/**..注释内容....*/

java中的关键字

Java 标识符

Java 标识符由数字,字母A-Z或者a-z和下划线_,美元符号$组成。

所有的标识符都应该以字母A-Z或者a-z,美元符$、或者下划线_开始,首位不能是数字。

常量与变量

常量的语法格式如下:

final 数据类型常量名称= 值;

final 数据类型常量名称1 = 值1,常量名称2 = 值2,……常量名称n = 值n;

例子:final double PI = 3.14;

final char MALE = ‘m’,FEMALE =’F’;

变量的语法格式如下:

数据类型变量名= 值;

数据类型

→内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte:

byte 数据类型是8位、有符号的,以二进制补码表示的整数;

最小值是 -128(-2^7);

最大值是 127(2^7-1);

默认值是 0;

byte 类型用在大型数组中节约空间,主要代替整数,因为byte 变量占用的空间只有int 类型的四分之一;

例子:byte a = 100,byte b = -50。

short:

short 数据类型是16 位、有符号的以二进制补码表示的整数

最小值是 -32768(-2^15);

最大值是 32767(2^15 - 1);

Short 数据类型也可以像byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;

默认值是 0;

例子:short s = 1000,short r = -20000。

int:

int 数据类型是32位、有符号的以二进制补码表示的整数;

最小值是 -2,147,483,648(-2^31);

最大值是 2,147,483,647(2^31 - 1);

一般地整型变量默认为int 类型;

默认值是 0 ;

例子:int a = 100000, int b = -200000。

long:

long 数据类型是64 位、有符号的以二进制补码表示的整数;

最小值是 -9,223,372,036,854,775,808(-2^63);

最大值是 9,223,372,036,854,775,807(2^63 -1);

这种类型主要使用在需要比较大整数的系统上;

默认值是 0L;

例子:long a = 100000L,Long b = -200000L。

"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。float:

float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;

float 在储存大型浮点数组的时候可节省内存空间;

默认值是 0.0f;

浮点数不能用来表示精确的值,如货币;

例子:float f1 = 234.5f。

double:

double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;

浮点数的默认类型为double类型;

double类型同样不能表示精确的值,如货币;

默认值是 0.0d;

例子:double d1 = 123.4。

boolean:

boolean数据类型表示一位的信息;

只有两个取值:true 和false;

这种类型只作为一种标志来记录true/false 情况;

默认值是 false;

例子:boolean one = true。

char:

char类型是一个单一的16 位Unicode 字符;

最小值是 \u0000(即为0);

最大值是 \uffff(即为65,535);

char 数据类型可以储存任何字符;

例子:char letter = 'A';。

→引用类型

在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。

对象、数组都是引用数据类型。

所有引用类型的默认值都是null。

一个引用变量可以用来引用任何与之兼容的类型。

例子:Site site = new Site("Runoob")。

运算符

→算术运算符 + 加法 - 相加运算

符两侧的值

A +

B 等于 30

- 减法 - 左操作数

减去右操作数

A –

B 等于 -10 * 乘法

- 相乘操作

符两侧的值

A *

B 等于200 / 除法 - 左操作数

除以右操作数

B / A 等于2 % 取余 - 左操作数

除以右操作数的

余数

B%A 等于0 ++ 自增: 操作数的

值增加1

B++ 或 ++B 等于 21(区别详见下文) -- 自减: 操作数的

值减少1

B-- 或 --B 等于 19(区别详见下文)

关系运算符

→位运算符

→逻辑运算符

→赋值运算符

= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋

给C

+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左

操作数

C + = A等价于C = C + A

- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A

* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左

操作数

C * = A等价于C = C * A

/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左

操作数

C / = A等价于C = C / A

(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值

给左操作数

C%= A等价于C = C%A

<< = 左移位赋值运算符 C << = 2等价于C = C << 2 >> = 右移位赋值运算符 C >> = 2等价于C = C >> 2 &= 按位与赋值运算符C&= 2等价于C = C&2

^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2

→条件运算符

(布尔值)?表达式1:表达式2 //布尔为真执行前面,否则执行后面

→instanceof运算符

(表达式1)instanceof (表达式2)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。→优先级

后缀() [] . (点操作符) 左到右

一元+ + - !?从右到左

乘性* /%左到右

加性+ - 左到右

移位>> >>> << 左到右

关系>> = << = 左到右

相等== != 左到右

按位与&左到右

按位异或^ 左到右

按位或| 左到右

流程控制语句→关于if 语句

例1:判断语句

if(条件)

{ 代码}

else

{代码2}

例2:多重判断

if(条件)

{ 代码}

else if(条件2)

{代码2}

else if(条件3)

{代码3}

else

{代码4}

例3:(if内可嵌套)

if(条件1) {

if(条件2) {代码1}

else {代码2} }

else

{代码3;}

例4:if可当作判断语句

if (条件)

{条件成立时的代码} //没有else,直接执行下面的

→Switch语句用法

例:(表达式=值)

Switch(表达式){

case 值1:

代码1

break;

case 值2:

代码2

break;

default: //表达式中没有提供的值默认默认执行的代码块

}

→循环语句while

例:1

while(条件) //条件为true执行1下,直到为false {代码} //先判断后执行

例2:

do{

代码

}while(条件) //先执行,后判断,即使条件为false

→for循环语句

例:

for (int i = 1;i<2;i++){代码}

break用来终止语句

continue用来结束本次循环

for(元素类型元素变量:遍历对象){

执行的代码

}

方法

→方法的语法

访问修饰符返回值类型方法名(参数列表){

方法体

}

例:

先创建对象

printscore a = new printscore();

//定义一个变量来接受方法的返回值

int rsum;

//调用方法来计算

rsum = a.cal(78,99);

//78和99被调入到a和b里进行计算

public int cal (int a,int b){ //在这的a和b 为形参,实际的定义数字为实参int rsum =a+b;

return rsum;

}

//所以调用方法的语法是对象名.方法名(参数) //或方法名();

public static void cal ()

{ System.out.println("fuck"); }

方法中的参数

public void printName(String name) { //String name 就是参数System.out.println(name); //String为参数类型 name 为参数名}

当需要传参的时候语法为

对象名.方法名(参数1,参数2)

当方法调用结束后,系统会自动释放由方法所产生的空间

方法重载

方法名相同,但参数列表不同

访问修饰符构造方法名(){ //构造方法名与类名一致初始化代码 //()为空是无参有定义参数为有参}

例:

public class people {

double height;

int age;

int sex;

//构造函数,初始化了所有属性

public people(double h, int a,int s){

height = h;

age = a;

sex = s;

}

}

→创建对象语法:

类名对象名 = new 类名();

people LiLei = new people();

使用对象

//引用对象属性

对象名.属性

LiLei.height

//引用对象方法

对象名.方法

LiLei.cry()

数组

→声明数组

数据类型[] 数组名 //或者数据类型数组名[];

例:int[] ages;

int ages[];

数组名 = new 数据类型[ 数组长度 ];

例: ages = new int[10];

→或者直接在声明数组的时候分配好空间

例:

数据类型[] 数组名 = new 数据类型[ 数组长度 ];

数据类型[] 数组名 = {数组元素};

int [] ages = {12,18,9,33,45,60}; //声明并初始化了一个int整型数组,它有6个元素char [] symbol = new char[10] //声明并分配了一个长度为10的char型数组

ages.length 用来获取数组长度

数组第一个下标为0

→二维数组

数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数];

String [][] name = new String[1][2];

//或者

数据类型 [][] 数组名;

数组名 = new 数据类型[行的个数][列的个数];

//也可以

数据类型 [][] 数组名 = {

{第一行值1,第一行值2,...},

{第二行值1,第二行值2,...}

...

}

String[][] name = {

{1,2,3}{4,5,6}

}

//二维数组的赋值和访问,跟一维数组类似,可以通过下标来逐个赋值和访问,注意索引从 0 开始

数组名[行的索引][列的索引] = 值;

System.out.print(数组名[行的索引][列的索引]); //来获得数组值

相关主题
相关文档
最新文档