第六节 运算符

前言

    初学java语言的小白,日常记录个人所学、所思、所感、所获。
    请java语言行业的前辈们多多指教, 目前从事汽车制造行业。
    属于零基础自学,愿未来自己感谢今天的选择和努力。加油!

一、四则运算和取模运算

2021、8、16更新
笔记:
1.除了学习四则运算符的使用外,重点记忆取模运算符:%
2.不同数据之间的运算,结果将会是数据范围大的类型
/*

运算符:进行特定操作的符号,例如符号:+
表达式:用运算符连起来的式子。例如:20+5,又例如a+b。

四则远算:
加:+
减:-
乘:*
除:/

取模(取余数):%
只有对于整数的除法来说,取模预算符才有余数的意义。

首先计算得到表达式的结果,然后再打印输出这个结果。
复习下小学一年级对的出发公式:
被除数/除数=商…余数

对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍然是整数。只看商,不看余数。

注意事项:
1.一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
*/
public class Demo01Operator {

public static void main(String[] args) {
    //两个常量之间可以进行数学运算
    System.out.println(20+30);

    //两个变量之间也可以进行数学运算
    int a=20;
    int b=30;
    System.out.println(a-b);//-10

    //变量和常量之间可以混合使用
    System.out.println(a*10);//200

    int x =10;
    int y=3;

    int result1 = x/y;
    System.out.println(result1);//3

    //取模
    int result2 = x%y;
    System.out.println(result2);//余数 模:1

    //int+double-->double+double-->double
    // 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
    double result3=x+2.5;
    System.out.println(result3);

}

}

二、加号的多种运用

2021、8、16更新
笔记:
1.加号在编程当中有不同用法,最值得注意的是在字符串当中的连接作用。
2.字符串连接任意类型都会变成字符串。

/*
四则运算当中的加号"+"有常见的三种用法

1.对于数值,那就是加法。
例如:20+30,输出结果就是50.

2.对于字符char类型来说,在计算之前,char类型会被提升成为int类型,然后再计算。
查了内心字符和int类型数字之间的关系对照表,ASCII码表、Unicde码表。
例如:‘A’+0,输出结果就是65,char类型字符A被提升成为int类型65进行了计算

3.对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串链接操作。
例如: String str1=“Hello”;
System.out.println(str1);//Hello
System.out.println(str1+“World”);//HelloWorld
【注意】:任何数据类型和字符串进行连接的时候,结果都会变成字符串

*/
public class Demo02Plus {

public static void main(String[] args) {
//字符串类型的变量的基本使用
//格式 数据类型 变量名称=数据值
String str1="Hello";
    System.out.println(str1);//Hello

    System.out.println(str1+"World");//HelloWorld

    String str2="java";
    //String+int-->String
    //任何数据类型和字符串进行连接的时候,结果都会变成字符串
    System.out.println(str2+20);//java20

    //优先级问题
    //String + int + int
    //String       + int
    //String

    System.out.println(str2+20+30);//java2030
    
    //小括号当中数据最先执行
    System.out.println(str2+(20+30));//java50

}

}

三、自增、自减运算

2021、8、17更新
笔记:
1、自增、自减运算符与其他操作混合使用,前++、后++有区别。
2、前++,先加后用。【牢记】
3、后++,先用后加。【牢记】

/*
自增运算符:++
自减运算符:–

含义:让一个变量涨一个数字1,或者让一个变量降一个数字1
使用格式:
写在变量名称之前,或者写在变量名称之后。例如++num,或者num++。
使用方式:
1、单独使用:不和其他任何操作混合,自己独立成为一个步骤。
2、混合使用:和其他操作混合,例如与赋值操作混合,或者与打印操作混合,等。
使用区别:
1.在单独使用的时候,前++和后++没有任何区别。也就是++num;和num++是完全一样的。
2.在混合使用的时候,有【重大区别】
A.如果是【前++】,【那么这个变量立刻马上+1,然后拿着结果进行使用。】 【先加后用】
B.如果是【后++】,【那么使用变量本来的数值,然后再让变量变量++。】 【先用后加】

注意事项:
只有变量才可以使用自增、自减运算符。常量不可发生改变,所以不能用。
*/

public class Demo03Operator {

public static void main(String[] args) {
    int num1=10;
    System.out.println(num1);//10
    ++num1;//单独使用,前++
    System.out.println(num1);
    num1++;//单独使用,后++
    System.out.println(num1);//12
    System.out.println("==========");

    //与打印混合使用
    int num2=20;
    //混合使用,前++,立马+1,打印输出21
    System.out.println(++num2);//21
    System.out.println(num2);//21
    System.out.println("==========");

    //混合使用
    int num3 =30;
    //混合使用,后++,先使用本来的数值,然后再让变量+1,打印输出31
    System.out.println(num3++);//30
    System.out.println(num3);//31
    System.out.println("==========");

    //和赋值操作混合使用
    int num4=40;
    int result1=--num4;
    //混合使用,前--,变量立刻马上-1变成39,然后再将结果39交给result1变量
    System.out.println(result1);//39
    System.out.println(num4);//39
    System.out.println("==========");

    //和赋值操作混合使用
    int num5=50;
    int result2=num5--;
    //混合使用,后--,首先把本来的数值50交个result2,然后我自己再-1变成49
    System.out.println(result2);//50
    System.out.println(num5);//49
    System.out.println("==========");

    //混合运算
    int x=10;
    int y=20;
    int result3=++x+y--;
    System.out.println(result3);//31
    System.out.println(x);//11
    System.out.println(y);//19

   // 只有变量才可以使用自增、自减运算符。常量不可发生改变,所以不能用。
    // 30++//错误写法
}

}

四、赋值运算符

2021、8、17更新
笔记:
1."="在编程语句当中代表赋值,==才代表相等。
2.注意复合赋值运算符的使用

/*
赋值运算符分为

基本赋值运算符:就是一个等号"=",代表将右侧的数据交给左侧的变量。
int a = 30;

复合赋值运算符:
+= 代表 a += 3 相当于 a =a+3
-= 代表 b -= 4 相当于 b =b-4
*= 代表 c = 5 相当于 c =c5
/= 代表 d /= 6 相当于 d =d/6
%= 代表 e %= 7 相当于 e =e%7

注意事项:
1.只有变量才能使用赋值运算符,常量不能进行赋值
例:50=30;错误写法
2.复合赋值运算符其中隐含了一个强制类型转换
*/
public class Demo04Operator {

public static void main(String[] args) {
    int a = 10;
    a += 5;
    //按照公式进行翻译:a = a+5
    //a =10+5
    //a =15
    //a本来是10,现在重新赋值得到15
    System.out.println(a);//15
    System.out.println("=======");

    int x=10;
    //x = x%3;
    //x=10%3;
    //x=1;
    //x本来是10,现在重新赋值得到1

    x%=3;
    System.out.println(x);//1

    byte num = 30;
    //num =num+5;
    //num =byte + int;
    //num = int +int ;
    //num = int;
   //num = (byte) int
    num +=5;
    System.out.println(num); //35
}

}

五、比较运算符

2021、8、18更新
笔记:
1.注意=在程序编译当中视为赋值,==才是相等。
2.比较运算符多次判断,不能连着写。
例:1<x<3【错误写法】

/*
比较运算符:
大于: >
小于: <
大于等于: >=
小于等于: <=
相等: == 【注意:两个等号是等于,一个等号是赋值】
不相等: !=

注意事项:
1.比较运算符的结果一定是个boolean值,成立就是true,不成立就是false。
2.比较运算符进行多次判断,不能连着写。
数学当中的写法,例:1<x<3
程序当中【不允许】这种写法
*/
public class Demo05Operator {

public static void main(String[] args) {
    System.out.println(10>5);//true
    int num1=10;
    int num2=20;
    System.out.println(num1<num2);//ture
    System.out.println(num2>=100);//false
    System.out.println(num2<=100);//true
    System.out.println("=============");

    System.out.println(10==10);//true
    System.out.println(10!=10);//false
    System.out.println(10!=20);//true

/*
比较运算符进行多次判断,不能连着写。
数学当中的写法,例:1<x<3
程序当中【不允许】这种写法
int x=2;
System.out.println(1<x<3);//错误写法,编译报错,不能连着写
*/
}
}

六、逻辑运算符

2021、8、18更新
笔记:
1.&&表示并且
2.||表示或者,其中|是确认键上方那个键
3.!表示取反
4.注意程序当中多个条件不能连着写。需要拆分然后用&&、||连接起来。

/*
与(并且) && 全都是true,才是true,否则就是flase
或(或者) || 全都是flase,才是false,否则就是ture
非(取反) ! 本来true,变成flase,本来flase,变成ture

与&&,或"||"具有短路效果,如果根据左边数据已经可以判断最终结果,那么右边代码将不再执行,从而节省一定的性能。

注意事项:
1.逻辑运算符只能用于boolean值。
2.与、或需要左右各自有一个boolean值。
例:3<6&&6<25–>true&&true
3.取反只要有位移一个布尔值即可。
例:!true
4.与、或两种运算符,如果有多个条件可以连着写
例如:条件A&&条件B&&条件C…

Tips:
对于1<x<3这种情况,应该拆分成为两个部分,然后使用运算符连接起来
1<x&&x<3

*/
public class Demo06Logic {
public static void main(String[] args) {
System.out.println(true&&false);//false

    System.out.println(true||false);//true

    //true&&true-->true
    System.out.println(3<6&&6<25&&35<60);//true

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

    System.out.println(false||false);//false

    //!取反要作用一个整体需要加小括号将其括起来
    //true&&false-->false
    System.out.println(!false&&false);//false

    //!(false&&false)-->!false-->true
    System.out.println(!(false&&false));//true
    System.out.println("======");

    System.out.println(true);//true
    System.out.println(!true);//false
    System.out.println("======");

    //与&&,或"||"具有短路效果,如果根据左边数据已经可以判断最终结果,那么右边代码将不再执行,从而节省一定的性能。
    //短路
    int a =10;
    //false&&....短路
    System.out.println(3>4&&++a<100);//false
    System.out.println(a);//10
    System.out.println("======");

    //不短路
    int b=10;
    //ture||.....短路
    System.out.println(3<4||++b<100);//true
    System.out.println(b);//10
}

}

七、三元运算符

2021、8、18更新
笔记:

三元运算符与if语句有相通之处,着重记忆语句格式。

/*
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反 !、自增 +=、 自减 –
二元运算符:需要两个数据才能进行进行操作的运算符。例如:加法 +、赋值 =
三元运算符:需要三个数据才能进行进行操作的运算符

格式:
数据类型 变量名称 = 条件判断?表达式A:表达式B;
流程:
首先判断条件时候成立:
如果成立为true,那么将表达式A值赋值交给左侧变量。
如果不成立为false,那么将表达式B值赋值交给左侧变量。
二者选其一

注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型要求.
int result1=3>4?2.5:4;//错误写法 左边数据类型为int,右边条件A为double,条件B为int,报错。
2.三元运算符的结果必须被使用。
int max=a>b?a:b;//定义一个变量,使用三元运算结果
System.out.println(a>b?a:b);//打印输出三元运算结果
a>b?a:b//错误写法,三元运算符结果没被使用。

*/
public class Demo07Operator {

public static void main(String[] args) {
    int a=10;
    int b=20;
  //数据类型 变量名称 = 条件判断?表达式A:表达式B;
    int max=a>b?a:b;//最大变量,
    //解读上一行代码
    //定义一个变量名称为max,变量a大于变量b吗?成立便把变量a赋值交给max,不成立就把变量b赋值交给max。
    System.out.println("最大值"+max);//最大值20
    System.out.println(a>b?a:b);//简写 正确写法
    
}

}

心得体会

每一天都一点进步,感觉很开心。加油!明天会更好2021、8、16

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值