Java基础语法(二)

运算符

对字面量或者变量进行操作的符号,比如加减乘除

算术运算符:

加(+) / 减(-) / 乘(*) / 除(/) / 取模(%)

import java.util.Scanner;//导入相关的包
public class test{  
    public static void main(String[] args){
        System.out.println(10/3);
    }
}

输出结果:3

两个整数相除如果出现小数或者除不尽,结果只保留整数部分

import java.util.Scanner;//导入相关的包
public class test{  
    public static void main(String[] args){
        System.out.println(10.0/3);
    }
}

输出结果:3.3333333333333335

“+”数字相加

数字进行运算的时候,数据类型不一样不能进行运算,需要转换成一样的才能进行运算

隐式转换

把一个取值范围小的数值,转换成取值范围大的数据

byte、short、char三种类型数据在进行运算的时候,都会直接先提升为int,然后再进行运算

int a = 10;
double b = a;

byte<short<int<long<float<double

强制转换

正常情况下,一个取值范围大的数值是不允许赋值给取值范围小的变量,如果一定要这么做那么就需要加入强制转换

double a = 10;
int b = (int)a;

需要注意的是,强制转换很容易造成数据出错。如果转换前的数据数值超出了转换后类型数值的范围上限,那么转换必然出错。

“+”字符串相加

当“+”在字符串中出现时,这里的加号就不是运算符,而是连接符,将前后两个字符串连接在一起

“+”字符相加

当“+”在字符中出现时,这里的加号是对两个字符的ASCII码进行加法,结果是加法后的数值对应的ASCII码

自增自减运算符:

++i; i++; --i; i–;

i++和i–是先用后加(减);++i和–i是先加(减)后用

赋值运算符:

= a=b

+= a += b a=a + b

-= a -= b a=a - b

*= a *= b a=a * b

/= a /= b a=a / b

%= a %= b a=a % b

关系运算符:

== 判断a和b的值相等

!= 判断a和b是否不相等

同理,还有 > >= < <=

关系运算符的结果都是布尔类型,注意区分“=”和“==”

逻辑运算符:

逻辑和:&

逻辑或:|

逻辑异或:^

逻辑非:!

public class test{  
    public static void main(String[] args){
        //与
        System.out.println(true&true);
        System.out.println(false&true);
        System.out.println(false&false);
        //或
        System.out.println(true|true);
        System.out.println(false|true);
        System.out.println(false|false);
        //非
        System.out.println(!true);
        System.out.println(!false);
        //异或
        System.out.println(true^true);
        System.out.println(false^true);
        System.out.println(false^false);
    }
}

输出结果:

true
false
false
true
true
false
false
true
false
true
false
短路逻辑运算符:

&&:短路与

||:短路或

上面两个逻辑运算符与“与”和“或”结果相同,只不过有“短路效果”,即第一个元素已经能判断出真值结果就不会去考虑第二个元素

对比下面两端代码:

public class test{  
    public static void main(String[] args){
        int a = 1;
        int b = 1;
        boolean result = (a++<0)&(b++<0);
        System.out.println(result);
        System.out.println(a);
        System.out.println(b);
    }
}

输出结果:false 2 2

public class test{  
    public static void main(String[] args){
        int a = 1;
        int b = 1;
        boolean result = (a++<0)&&(b++<0);
        System.out.println(result);
        System.out.println(a);
        System.out.println(b);
    }
}

输出结果:false 1 2

三元运算符:

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

例:求两个数的较大值 a > b ? a : b; 如果关系表达式为真,则执行表达式1,如果关系表达式为假,则执行表达式2

运算符优先级

请添加图片描述

流程控制语句

大致同C语言中的流程控制语句。

顺序语句

从上往下依次执行,java代码中默认执行语句顺序

分支语句——if

三种情况:

if(关系表达式){
    语句体;
}
if(关系表达式){
    语句体1;
}else{
    语句体2}
if(关系表达式1){
    语句体1;
}else if(关系表达式2){
    语句体2}
……
 else{
    语句体n+1}
分支语句——switch
switch(表达式){
	case1;
		语句体1;
		break;
	case2;
		语句体2;
		break;
	……
	default;
		语句体n+1;
		break;
}

要匹配的值只能是byte/short/int/char,高版本可以是枚举和String

补充:
(1)case穿透:语句体中没有写break导致的

循环语句——for
for(初始化语句;条件判断语句;条件控制语句){
	循环体语句;
}
循环语句——while
初始化语句;
while(条件判断语句){
	循环体语句;
	条件控制语句;
}
循环下面的其它语句;
for和while的区别

(1)for循环中,控制循环的变量的作用域在for循环的语法结构中(可简单理解为大括号内),在for循环结束后,就不能再次被访问到了

(2)while循环中,控制循环的变量不属于while循环的语法结构中,循环结束后依然可以被使用

(3)for循环一般在知道循环次数或者循环范围时使用,while循环一般在不知道循环的次数和范围,只知道循环的结束条件时使用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值