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=68
System.out.println('d'-3);//100-3=97
System.out.println((char)97);//a
System.out.println('中'+0);//20013
System.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:10
System.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);//false
System.out.println(a==c);//true
System.out.println(a!=b);//true
System.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:false
System.out.println(b1 & b2);//false
System.out.println(b1 & b3);//true
System.out.println(b1 | b2);//true
System.out.println(b1 | b3);//true
System.out.println(!b1);//false
System.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:19
System.out.println(++a>20 && --b<30);//false && 左边能确定结果,右边不在执行 ==>false
System.out.println("a:"+a);//a:11
System.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==0
Scanner 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;
 }

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值