day2--Java入门

方法引入

变量的声明与赋值

说明:变量表示存储单元,变量名就是存储单元的名称,变量初始化之后就可以通过变量名访问存储单元。

1、变量声明    int i;   String str;  //还没有分配存储空间

2、初始化(赋初值)  i=10;   str=”abc”;  //初始化之后就分配了存储空间

3、声明并赋值  int i = 10;   String str=”abc”;  //声明的同时进行初始化

注意:变量在使用之前必须先初始化(赋初值)。

常量的声明与赋值

声明常量需要使用final关键字,如,final double PI = 3.1415926。

常量通常在声明时赋值,并且赋值之后其值不能改变

常量标识符通常全部为大写。

实例变量与局部变量

根据变量声明的位置,变量可以分为实例变量(也叫全局变量)和局部变量。

实例变量及作用范围

在类的{}内直接定义的变量,称为全局变量。

作用范围:整个类中都可以使用

实例变量在创建对象时会自动初始化,并有初始值(默认值)

byte/short/int:0

long:0L

float:0.0f

double:0.0

char:空

boolean:false

引用类型:null

局部变量及作用范围

在方法中或代码块{}中定义的变量,称之为局部变量。

作用范围:直接包含它的{}内有效

局部变量不会自动初始化,没有默认值,使用之前必须要初始化。

类型转换

自动类型转换

类型兼容、小类型转换为大类型

byte-->int   short--->int  int--->long

long--->float   float--->double

String--->Object  (子类--->父类)

格式: 小类型 变量名1 = 变量值1;

大类型 变量名2 = 变量值1;

int test1 = 188;

long test2 = test1;

强制类型转换

大类型转换为小类型

int-->byte  int--->short   long--->int  

float--->long  double--->float

Object--->String

格式: 大类型 变量名1 = 变量值1;

小类型 变量名2 = (小类型)变量值1;

例: double d = 123.345567;

float f = (float) d;

运算符

可以将大部分Java运算符划分为四组:算术运算符、位运算符、关系运算符以及逻辑运算符。

赋值运算符

赋值运算符有一个有趣的特性:它允许创建赋值链。例如,分析下面的代码段:

int x, y, z;

x = y = z = 100;   // set x, y, and z to 100

但这种赋值方法在实际开发中基本不会使用。

算术运算符

算术运算符用于数学表达式,其使用方法与在代数中的使用方法相同。

运算符

结  果

+

加法(也是一元加号)

-

减法(也是一元负号)

*

乘法

/

除法

%

求模/取余

+=

加并赋值

-=

减并赋值

*=

乘并赋值

/=

除并赋值

%=

求模并赋值

++

自增

--

自减

需要注意的地方:

(1)当将除法运算符用于整数类型时,其结果不会包含小数部分。

(2)求模运算符%,返回除法操作的余数。它既可以用于浮点数也可以用于整数。可以用于判断一个整数是否是奇数、偶数、是否是某个数的倍数。

算术与赋值复合运算符

int  a  = 1;

a += 2;  //相当于a = a+2;

(1)对于所有的二元算术运算,都有相应的复合赋值运算符。

(2)复合赋值运算符的效率更高。所以在专业的Java程序中,会经常看到复合赋值运算符。

自增与自减

(1)自增运算符将其操作数加1。自减运算符将其操作数减1。

(2)自增与自减分前缀形式与后缀形式。++、--

前缀形式:

int  i = 10;

int  a = ++ i;  //等同于 i++;  int a = i; 所以a=11, i= 11

后缀形式:

int j = 10;

int  b = j++;  //等同于 int b = j;  j++; 所以b=10,j = 11

前缀形式和后缀形式区别:

++i和--1是先计算,后运行

i++和i--是先运行,后计算

表达式

(1)表达式的概念:由操作数与运算符组成  j++;  a+b;

(2)表达式的求值:表达式是有值的,需要注意表达式值的类型

(3)表达式中的类型提升规则:

表达式的类型会自动提升为所有操作数的最大类型。

对于操作数全为非long类型整数的表达式,其类型会自动提升为int。

对于操作数全为非double类型浮点数的表达式,其类型会自动提升为double。

关系运算符

关系运算符也称为比较运算符

运算符

结  果

==

等于

!=

不等于

>

大于

小于

>=

大于等于

小于等于

(1)关系运算的结果为boolean型数值,只有true和false两种值。

(2)关系运算符最常用于if语句和各种循环语句中的控制表达式。

逻辑运算符

布尔逻辑运算符,只能操作boolean型操作数。

运算符

结  果

&&

逻辑与(短路形式)

||

逻辑或(短路形式)

^

逻辑异或

!

逻辑一元非

&

逻辑与

|

逻辑或

布尔逻辑运算规则:

操作数

逻辑运算及结果

A

B

A || B

A && B

!A

A ^ B

false

false

false

false

true

false

true

false

true

false

false

true

false

true

true

false

true

true

true

true

true

true

false

false

运算规则说明:

对于||,只要有一个操作数为true,则结果为true;

对于&&,只要有一个操作数为false,则结果为false。

对于^,两个操作数不同,则结果为true,否则结果为false。

注意:&&和||,这两个运算符是所谓短路形式的逻辑运算符。假如单独根据左操作数就能确定表达式的结果,那么就不会计算右操作数的值。

位运算符

工作中基本不使用

三目(三元)运算符

运算规则

表达式1 ? 表达式2: 表达式3

语法:表达式1?表达式2:表达式3

表达式1必须是boolean类型的表达式

如果结果为true,那么取表达式2的结果

如果结果为false,那么取表达式3的结果

int aa = 24;

int bb = 23;

int r = aa>bb?3:4;

System.out.println("r = "+r);

大概顺序:算术运算符>移位运算符>关系运算符>逻辑运算符>赋值运算符

圆括号会提升其内部操作数的优先级。为了得到所期望的结果,这通常是必需的。圆括号(不管是否冗余)不会降低程序的性能。所以,为了减少模糊性而添加圆括号,不会对程序造成负面影响。

流程控制--选择结构

选择结构是通过分支语句实现的,分支语句有两种。

if分支

if语句的三种形式

注意:

else 不能单独使用,要和if配对使用

if  else 都可以后面不跟{},但是只能控制下面的一行代码

switch分支

switch语句的结构

switch (expression) {

case value1:

// statement sequence

break;

case value2:

// statement sequence

break;

...

case valueN :

// statement sequence

break;

default:

// default statement sequence

}

switch语句需要注意的问题

(1)switch(expression)中expression的结果必须是byte,short,char,int,枚举类型、String中的一种。   不可以是long

(2)在同一个switch语句中,两个case常量不允许具有相同的值

(3)每个case语句中需要加上break;语句。如果遗漏了break,则会继续进入到下一个case。

(4)可以省略default语句。

(5)default语句通常放在末尾,可以放在开始,中间或者末尾位置。

if-else与Switch的区别

(1)switch语句只能进行相等性测试,这一点与if语句不同,if语句可以对任何类型的布尔表达式进行求值。即,switch只查看表达式的值是否和某个case常量相匹配。

(2)相对于一系列嵌套的if语句,switch语句通常效率更高。

(3) switch能做的分支,if...else...一定能做。但是if...else...能做的分支,switch不一定能做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码来码去(未来可期)

感谢您的打赏,我们一起进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值