博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础入门(二)
阅读量:4249 次
发布时间:2019-05-26

本文共 4929 字,大约阅读时间需要 16 分钟。

Java基础入门(二)

1.运算符

1.1 算术运算符

在Java中,一共有5种算术运算符,分别是:+(加), -(减), *(乘), /(除), %(取模),其中前四种运算方法与我们小学学过的四则运算一致,后一种则表示求两个数相除之后求取余数.

需要注意的是:

1.除法符号两边都是整数,计算结果也是一个整数(整除)

System.out.println(10/4);//2

2.除法符号两边有一边是小数,计算结果也是小数

System.out.println(10/4.0);//2.5

3.byte,short,char类型在参与计算的时候,会自动把自己提升为int类型

4.浮点数(小数),是不精确的,拿不精确的数参与计算,得到的结果更加不精确

System.out.println(2.6-2);//0.6000000000000001 无限接近于0.6

1.2 字符的+操作

在计算机存储过程中中,每个字符在底层都是由一个数字存储,所以字符在参与+操作时,会使用字符底层的数字进行加法运算

System.out.println('B'+2);//66+2=68System.out.println('d'-3);//100-3=97System.out.println((char)97);//aSystem.out.println('中'+0);//20013System.out.println((char)20013);//中

以下常用字符和数字的对应关系:

// ‘A’	65	A-Z是连续的 // ‘a’	97	a-z是连续的 // ‘0’	48	0-9是连续的

1.3 字符串的+操作

字符串可以和任意的数据类型相加,结果还是一个字符串(字符串连接)

System.out.println("你好"+true);//你好true System.out.println("你好"+1);//你好1

所以我们经常字符串的+操作的拼接作用来展示结果

int a = 10;int b = 20;System.out.println("a:"+a);//a:10System.out.println("b:"+b);//b:20

1.4 赋值运算符

赋值运算符分为基本的赋值运算符和扩展的赋值运算符两种:

基本的赋值运算符: = 把等号右边的值赋值给等号左边的变量;

扩展的赋值运算符: +=, -=, *=, /=, %=, 把运算符左右两边的数先进行+ - * / % 的操作,再把结果赋值给左边的变量;

int a = 10;a+=20;//就相当于 a= a+20;

需要注意的是:

1.+=, -=, *=, /=, %=运算符左边必须是变量,不能是常量

2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换

byte cc = 10; cc+=20;//就相当于(byte)(bb+20);

1.5 自增自减运算符

自增运算符: ++,本身+1;自减运算符: --,本身-1;多用在循环中

注意:

++和–单独使用:运算符写在变量的前后结果是一样的;

int a = 10;a++;System.out.println("a:"+a);//a:11

++和–与其他运算符混合使用:

++(–)写在变量前边,先把变量的值加(减)1,然后使用改变后的值参与运算;

++(–)写在变量后边,先使用变量原来的值参与运算,运算结束后在把变量的值加(减)1;

int aa = 10; //--与输出语句混合使用 System.out.println(aa--);//10==>先打印aa原来的值10,在把aa进行--

1.6 关系运算符

作用:用于比较两个数,结果是一个布尔值

==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于

int a = 10;int b = 20;int c = 10;System.out.println(a==b);//falseSystem.out.println(a==c);//trueSystem.out.println(a!=b);//trueSystem.out.println(a!=c);//false

注意事项: 等于号是==,千万不要把 == 写成 =(赋值).

1.7 逻辑运算符

作用:用于连接布尔表达式,表达式的结果是一个布尔值

&: 与运算符:有false则false

| (回车上边shift+):或运算符:有true则true

!: 取反:非真则假,非假则真

boolean b1 = true;boolean b2 = (100+20)-30<50;boolean b3 = true;System.out.println("b2:"+b2);//b2:falseSystem.out.println(b1 & b2);//falseSystem.out.println(b1 & b3);//trueSystem.out.println(b1 | b2);//trueSystem.out.println(b1 | b3);//trueSystem.out.println(!b1);//falseSystem.out.println(!b2);//true

短路与和短路或

&&:短路与,符号左边是false,则不在执行右边,可以直接确定结果

| |:短路或,符号左边是true,则不在执行右边,可以直接确定结果

&&和||和&和|的运算结果是一样的,但&&和| |可以提高效率.

int a = 10;int b = 20;//System.out.println(++a>20 & --b<30);//false & true ==>false//System.out.println("a:"+a);//a:11//System.out.println("b:"+b);//b:19System.out.println(++a>20 && --b<30);//false && 左边能确定结果,右边不在执行 ==>falseSystem.out.println("a:"+a);//a:11System.out.println("b:"+b);//b:20

1.8 三元运算符

元,指的是参与计算的变量个数,如:一元:1个数参与计算 ++a, --b;二元:2个数参与计算 a+b ,a>b, a && b,三元运算符:3个数参与计算,作用是获取两个数中的最大值或最小值,或者比较两个数的大小.

格式: 关系表达式? 表达式1:表达式2;

int a = 10;int b = 20;//获取a和b两个数的最大值 int max = a>b? a : b;

2.流程控制语句

2.1 if语句

if语句是最常用的判断语句,其有三种语句格式

2.1.1 if语句的第一种格式

int a = 10;int b = 20;//判断a和b是否相等if(a==b){
//false System.out.println("a等于b!"); }

2.1.2 if语句的第二种格式

//键盘输入一个整数,判断整数是否为一个偶数 a%2==0Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int a = sc.nextInt();if(a%2==0){
System.out.println(a+"是一个偶数!");}else{
System.out.println(a+"是一个奇数!");}

2.1.3 if语句的第三种格式

用于多个条件的判断

//程序从控制台接收一个百分制的分数Scanner sc= new Scanner(System.in);System.out.println("请输入您的分数:"); int score = sc.nextInt();//使用if语句对分数进行判断//90分—100分:打印:优秀if(score>=90 && score<=100){
System.out.println("优秀"); }else if(score>=70 && score<=89){
//70 – 89分,打印:良好 System.out.println("良好");}else if(score>=60 && score<=69){
//60 – 69分,打印:及格 System.out.println("及格");}else if(score>=0 && score<=59){
//0 – 59分,打印:不及格 System.out.println("不及格"); }else{
//其它情况,打印:输入的分数不正确! System.out.println("输入的分数不正确!");}

2.2 switch语句的基本使用

switch语句也是常用的判断语句,多用于在多个值中选择一个执行

switch (week){
case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("您输入的值有误!"); break;}

如果不加break,将出现穿透现象,即可能打印多个结果.

穿透的原理是当case中的语句执行完毕,而没有break时, 程序会无条件的执行后续的case或default中的语句,直到遇到break语句或整个switch语句结束为止.有时我们也会利用穿透优化程序:

switch (month){
case 12: case 1: case 2: System.out.println("冬季"); break; case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; default: System.out.println("您输入有误!"); break; }

好了,今天的学习就到这里了!!!

转载地址:http://wdwei.baihongyu.com/

你可能感兴趣的文章
#####@@@#好好好好#####最全知识图谱介绍:关键技术、开放数据集、应用案例汇总
查看>>
MxNet使用总览
查看>>
DL4NLP —— seq2seq+attention机制的应用:文档自动摘要(Automatic Text Summarization)
查看>>
QA问答系统中的深度学习技术实现
查看>>
NLP专题论文解读:从Chatbot、NER到QA系统...
查看>>
端到端的TTS深度学习模型tacotron(中文语音合成)
查看>>
神经网络在关系抽取中的应用
查看>>
大规模知识图谱的构建、推理及应用
查看>>
揭秘 DeepMind 的关系推理网络
查看>>
概率图模型(PGM)模式推断与概率图流
查看>>
MySQL中REGEXP正则表达式使用大全
查看>>
ArangoDB、Neo4j、OrientDB单机性能比较
查看>>
MFCC(Mel 倒谱系数)
查看>>
python2代码批量转为python3代码
查看>>
贝叶斯优化: 一种更好的超参数调优方式
查看>>
Tensorflow 多任务学习 概念介绍
查看>>
Keras 多任务实现,Multi Loss #########Keras Xception Multi loss 细粒度图像分类
查看>>
#####好好好####从Google Visor到Microsoft NNI再到Advisor调参服务接口发展史
查看>>
tensorflow中的共享变量(sharing variables) 最佳方式variable_scope()命名空间来完成
查看>>
深度增强学习综述
查看>>