java基础(第二天)

运算符

作用:对数据进行计算.

分类:算术运算符,逻辑运算符,赋值运算符,三目运算符,位运算符.

1.算术运算符

+,-,*,/(注意除法不能为0)

%:取余

++:自增

     ++a(先自增然后参与运算)

     a++(先参与运算后自增)

--:递减

   --a(先递减然后参与运算)

  a--(先参与运算后递减)

优先级:有括号先算括号,有乘除算乘除,然后从左向右依次运算.

注意:可以给整型浮点型使用.

2.逻辑运算符

<,<=,>,>=,

==:等于

      基本数据类型判断值是否相同

      引用数据类型判断内存地址是否相同

      (不能判断字符串是否相同)

!=:不等于

    基本数据类型判断值是否相同

      引用数据类型判断内存地址是否相同

      (不能判断字符串是否相同)

&:与

同真为真,有假为假

&&:短路与

 同真为真,有假为假

|:或

有真为真,全假为假

||:短路或

有真为真,全假为假

!:非

非真为假,非假为真.

!true的结果为false

注意:最终结果只能是boolean类型

条件表达式:最终结果为boolean型的算术式都是条件表达式.

与,或,非不加括号最后运算.

3.赋值运算符

=:赋值

 将等号右边的值赋值给左边的变量

+=:加等

   int a =10;

   int  b=10;

//a=a+b;

a+=b;

+=:减等

与加等相似

*=:乘等   a*=b

/=:除等   a/=b

%=        a%=b

注意:等号两边数类型要相同

4.三目运算符

语法:条件表达式?  值1:值2

逻辑:当条件表达式为true时,取值1,反之,取值2.

注意:值1与值2数据类型要相同

练习

获取两个数的最大值

int a=10;

int b=20;

System.out.println(a>b?a:b);

获取三个数最大值

int a=10;

int b=20;

int c=19;

int max=a>b?a:b;

max=max>c?max:c;

System.out.println(max);

5.位运算符

&

int a=3;

int b=2;

int c=a&b;

a    11

b    10

c     10       2

|

int a=3;

int b=2;

int c=a|b;

a    11

b    10

c     11    3

!

int a=3;

!a

a    11

a     00     0

^

int a=3;

int b=2;

int c=a^b;

a    11

b    10

c     01      1

<<

int  a=3;

a<<2;

a   11

a    1100      12

>>

int  a=3;

a>>2;

a   11

a    00      0

数据类型转换

1.小类型转换为大类型

自动转换

 int num =10;

long  l=num;

注意:小类型与大类型运算,自动转换为大类型.

2,大类型转换为小类型

强制转换

语法:小类型 变量名 =(小类型) 要转换的变量或数据

long l =10l;

int  a=(int)l;

int i=128;

byte  b= (byte)i;

注意:强制转换会导致数据丢失.

进制转换

十进制转换二进制

除2,余数倒读

十进制转换八进制

除8,余数倒读

十进制转换十六进制

除16,余数倒读

二进制转换为十进制

例子:

10100

1*2^4+0*2^3+1*2^2+0*2^1+0*2^0

16+0+4+0+0=20

位所在的数*2^(位数-1)+位所在的数*2^(位数-1)+...

八进制转换为十进制

例子:

26

2*8^1+6*8^0 2*8+6*1 16+6 22

位所在的数*8^(位数-1)+位所在的数*8^(位数-1)+...

十六进制转换为十进制

例子: AF

10*16^1+15*16^0 160+15 175

位所在的数*16^(位数-1)+位所在的数*16^(位数-1)+..

字符串判断内容是否相同

语法:boolean  变量名=字符串1或字符串变量1.equals(字符串2或字符串变量2)

例子:

String str01 ="Hello";

String str02="World";

boolean  b=str01.equals(str02);

boolean b=str01.equals("World");

boolean b="Hello".equals(str02);

boolean b="Hello".equals("World");

字符串连接符

如:

int i = 10; String str = "1"; String str02 = i+str;

练习

String str01 = 1 + 2 + "3"; 结果:"33"

String str02 = "1"+2+3; 结果:"123"

转意字符

\' 含义:'

\" 含义:"

\\ 含义:\

\n 含义:换行

\t 含义:制表

键盘录入

原因:为了提高代码的趣味性.

对应的类:Scanner

步骤:

1.导包

import  java.util.Scanner;

2.创建Scanner对象

Scanner 变量名1=new Scanner(System.in);

3.等待用户输入,并获取用户输入结果(可以多次重复使用)

用户输入字符串

String 变量名2=变量名1.next();

用户输入整数

int  变量名2=变量名1.nextInt();

注意:变量名2所对应的内容就是用户输入的内容

next和nextInt会阻塞程序,直到用户输入.

分支语句

顺序语句

特点:代码从上向下依次执行

分支语句

特点:提供多个分支只能选择一个执行

循环语句

特点:重复执行一段代码

分类

if 特点:可以判断内容是否相同,也可以判断区间

swicth 特点:只能判断值是否相同,效率稍微比if快 注意:只能判断8个基本数据与String的数据是否值相等

if

简单的if结构

语法: if(条件表达式){ 当条件表达式为true,执行此处代码 }

if else结构

语法: if(条件表达式){ 当条件表达式为true,执行此处代码 }else{ 当条件表达式为false,执行此处代码 }

else if结构

语法: if(条件表达式1){ 当条件表达式1为true,执行此处代码 }else if(条件表达式2){ 当条件表达式2为true,执行此处代码 }else if(条件表达式3){ 当条件表达式3为true,执行此处代码 }...  else if(条件表达式n){ 当条件表达式n为true,执行此处代码 }else{ 当以上条件都不为true时,执行此处代码 }

总结

if必须有 else:可有可无,最多一个,必须在if的末尾

else if:可有可无,可以有多个 语法:

语法: if(条件表达式1){ 当条件表达式1为true,执行此处代码 }[else if(条件表达式2){ 当条件表达式2为true,执行此处代码 }else if(条件表达式3){ 当条件表达式3为true,执行此处代码 }... else if(条件表达式n){ 当条件表达式n为true,执行此处代码 }else{ 当以上条件都不为true时,执行此处代码 }]

注意:[]中的内容可有可无

注意:if中可以使用if(if的嵌套)

Switch

语法:

switch(变量){

case 值1: 当变量的值等于常量1时,执行此处代码

break;

case 值2: 当变量的值等于常量2时,执行此处代码

break;

...

case 值n: 当变量的值等于常量n时,执行此处代码

break;

default: 当变量的值不等于以上常量时,执行此处代码

break; }

break:跳出当前代码块

{}:代码块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值