黑马程序员Java零基础视频教程笔记-运算符

这篇具有很好参考价值的文章主要介绍了黑马程序员Java零基础视频教程笔记-运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、算数运算符详解和综合练习

1. 运算符和表达式

① 运算符:对字面量或者变量进行操作的符号
② 表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
③ 举例

int a = 10;
int b = 20;
int c = a + b;
+:是运算符,并且是算术运算符
a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

2. 算数运算符

符号 作用
+
-
*
/
% 取模、取余

3. 样例

package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo1{
    public static void main(String[] args){
        //+
        System.out.println(3 + 2);//5
        //-
        System.out.println(5 - 1);//4
        //*(shift + 数字8)
        System.out.println(7 * 9);//63
        
        //如果在计算的时候有小数参与
        //结论:
        //在代码中,如果有小数参与计算,结果有可能不精确的
        //为什么呢
        //暂时只要知道这个结论就可以了
        //具体的原因,我们到了JavaSE的时候,会再详细的讲解
        System.out.println(1.1 + 1.1);//2.2
        System.out.println(1.1 + 1.0);//2.1100000000000003
        System.out.println(1.1 - 1.01);
        System.out.println(1.1 * 1.01);
    }
}
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo2{
    //主入口
    //结论:
    //1.整数参与计算,结果只能得到整数
    //2.小数参与计算,结果可能是不精确的,如果我们需要精确计算,那么需要用到后面的知识点
    public static void main(String[] args){
        //除法
        System.out.println(10 / 2);//5
        System.out.println(10 / 3);//3
        System.out.println(10.0 / 3);//3.3333333333333335
  
        //取模,取余,实际上也是做除法运算,只不过得到的是余数而已
        System.out.println(10 % 2);//0
        System.out.println(10 % 3);//1

        //应用场景
        //1.可以用取模来判断,A是否可以被B整除
        //A % B   10 % 3
        //2.可以判断A是否为偶数
        //A % 2 如果结果为0,那么证明A是一个偶数;如果结果是1,那么证明A是一个奇数
        //三个玩家
        //把每一张牌都定义一个序号
        //拿着序号 %3 如果结果为1,就发给第一个玩家
        //如果结果为2,就发给得二个玩家
        //如果结果为0,就发给第三个玩家
    }
}

4. 练习

package com.itheima.test;
import java.util.Scanner;
public class test1{
    public static void main(String[] args){
        //键盘录入一个三位数,获取其中的个位,十位,百位
        //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数");
        int number = sc.nextInt();
        //2.获取个位,十位,百位
        //公式:
        //个位:数字%10
        //十位:数字/10%10
        //百位:数字/10/10%10
        //……
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number /100 % 10;
        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}

二、隐式转换和强制转换

1. “+”操作的三种情况

① 数字相加
② 字符串相加
③ 字符相加
【注】数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算

2. 类型转换的分类

① 隐式转换
② 强制转换

3. 隐式转换

① 定义:把一个取值范围小的数值,转成取值范围大的数据

int a = 10;
double b = a;

② 取值范围:byte < short < int < long < float < double
③ 什么时候转换:
数据类型不一样,不能进行计算,需要转换成一样的才可以进行计算
④ 转换规则:
取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算

4. 强制转换

① 如果把一个取值范围大的数值,赋值给取值范围小的变量,是不允许直接赋值的。如果一定要这么做就需要加入强制转换
② 格式:目标数据类型 变量名 =(目标数据类型)被强制转换的数据

5. 样例

package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo3{
    public static void main(String[] args){
        byte b1 = 100;
        byte b2 = 100;
        //现在我们要强转的是谁
        //b1 + b2计算之后的结果
        //byte(b1) + b2 强转的是b1,并不是最终的结果
        byte result = byte(b1 + b2);
        System.out.println(result);//结果发生错误,因为要转换的数据过大
    }
}

三、字符串和字符的加操作

1. 字符串的“+”操作

① 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算数运算符了。会将前后的数据进行拼接,并产生一个新的字符串。
例如:“123”+123=“123123”
② 进行“+”操作时,从左到右逐个执行
例如:1+99+“年黑马”=“200年黑马”
③ 练习

package com.itheima.test;
import java.util.Scanner;
public class test1{
    public static void main(String[] args){
        //键盘录入一个三位数,获取其中的个位,十位,百位
        //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数");
        int number = sc.nextInt();
        //2.获取个位,十位,百位
        //公式:
        //个位:数字%10
        //十位:数字/10%10
        //百位:数字/10/10%10
        //……
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number /100 % 10;
        System.out.println("个位是:"+ge);
        System.out.println("十位是:"+shi);
        System.out.println("百位是:"+bai);
    }
}

2. 字符的“+”操作

当字符+字符/数字时,会把字符通过ASCII码表查询到对应的数字再进行计算

package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo4{
    public static void main(String[] args){
        char c = 'a';
        int result = c + 0;
        System.out.println(result);
    }
}

四、自增自减运算符

1. 基本用法

符号 作用 说明
++ 变量的值加1
- - 变量的值减1

注意事项:++和- -既可以放在变量的前边,也可以放在变量的后边

2. 两种用法

① 单独使用
++和- -无论是放在变量的前边还是后边,单独写一行结果是一样的

package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo5{
    public static void main(String[] args){
        //++和--
        int a = 10;
        //表示把变量a里面的值+1
        a++;
        System.out.println(a);//11
        //表示把变量a里面的值+1
        ++a;
        System.out.println(a);//12
        //表示把变量a里面的值-1
        a--;
        System.out.println(a);//11
        //表示把变量a里面的值-1
        --a;
        System.out.println(a);//10      
    }
}

② 参与计算
先用后加

int a = 10;
int b = a++;

先加后用

int a = 10;
int b = ++a;

3. 样例

package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo6{
    public static void main(String[] args){
         int x = 10;
         //后++:先用后加
         //先把x变量中的值拿出来用,赋值给y,然后再进行自增
         //赋值给y的值是自增前的
         int y = x++;// x = 11 y = 10
         //先++:先加后用
         //先把x进行自增,然后把自增后的结果赋值给左边的变量
         //先把x自增,变成12,然后再把自增后的12赋值给z
         int z = ++x;// x =12 z = 12
         System.out.println("x:"+x);//12
         System.out.println("y:"+y);//10
         System.out.println("z:"+z);//12
    }
}

五、赋值运算符和关系运算符

1. 赋值运算符

① 分类

符号 作用 说明
= 赋值 int a=10,将10赋值给变量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

② 样例

package com.itheima.assigningoperator;
public class AssigningoperatorDemo1{
    public static void main(){
        //+=
        //规则:将左边和右边进行相加,然后再把结果赋值给左边
        int a = 10;
        int b = 20;
        //把a+b,再把结果赋值给左边的变量a
        a += b;
        //等同于 a = (int)(a + b);
        System.out.println(a);//30
        System.out.println(b);//20

        //细节:
        //+=,-=,*=,/=,%= 底层都隐藏了一个强制类型转换
        short s = 1;
        //把左边和右边进行相加,得到结果2,再赋值给左边的变量
        s += 1;
        //等同于:s = (short)(s + 1);
        System.out.println(s);//2
    }
}

2. 关系运算符

① 分类

符号 说明
== a==b,判断a和b的值是否相等,成立为true,不成立为false
!= a!=b,判断a和b的值是否不相等,成立为true,不成立为false
> a>b,判断a是否大于b,成立为true,不成立为false
>= a>=b,判断a是否大于等于b,成立为true,不成立为false
< a>b,判断a是否小于b,成立为true,不成立为false
<= a<=b,判断a是否小于等于b,成立为true,不成立为false

注意:关系运算符的结果都是boolean类型,要么是true,要么是false
② 样例

package com.itheima.assigningoperator;
public class AssigningoperatorDemo2{
    public static void main(){
        //1.== 判断左右两边是否相等
        int a = 10;
        int b = 10;
        int c = 20;
        System.out.println(a == b);//true
        System.out.println(a == c);//false
    }
}

3. 练习

package com.itheima.test;
import java.util.Scanner;
public class Test2{
    public static void main(String[] args){
        /*
        需求:
        您和您的约会对象正试图在餐厅获得一张桌子。
        键盘录入两个整数,表示你和你约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录入其他)
        如果你的时髦度大于你对象的时髦度,相亲就成功,输出true,否则输出false。
        */
        
        //1.键盘录入两个整数表示衣服的时髦度
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入我们自己的衣服时髦度");
        int myFashion = sc.nextInt();
        System.out.println("请输入相亲对象的衣服时髦度");
        int girlFashion = sc.nextInt();

        //2.把我衣服的时髦度跟女孩的时髦度进行对比就可以了
        boolean result = myFashion > girlFashion;

        //3. 打印结果
        System.out.println(result);
    }
}

六、四种逻辑运算符

1. 分类

符号 作用 说明
& 逻辑与(且) 并且,两边都为真,结果才是真
| 逻辑或 或者,两边都为假,结果才是假
^ 逻辑异或 相同为false,不同为true
! 逻辑非 取反

2. 样例

package com.itheima.logicoperator;
public class LogicoperatorDemo1{
    public static void main(String[] args){
        //1.& 并且
        //两边都为真,结果才是真
        System.out.println(true & true);//true
        System.out.println(false & true);//false
        System.out.println(true & false);//false
        System.out.println(false & false);//false

        //2.| 或者 
        //两边都为假,结果才是假
        System.out.println(true | true);//true
        System.out.println(false | true);//true
        System.out.println(true | false);//true
        System.out.println(false | false);//false        
    }
}
package com.itheima.logicoperator;
public class LogicoperatorDemo2{
    public static void main(String[] args){
        // ^ 异或 
        //相同为false,不同为true
        System.out.println(true ^ true);//false
        System.out.println(false ^ true);//true
        System.out.println(true ^ false);//true
        System.out.println(false ^ false);//false

        // ! 逻辑非 取反 
        //提示:
        //取反的感叹号不要写多次,要么不写,要么只写一次
        System.out.println(!false);//true
        System.out.println(!true);//false   
    }
}

七、短路逻辑运算符

1. 分类

符号 作用 说明
&& 短路与 结果和 & 相同,但是有短路效果
|| 短路或 结果和 | 相同,但是有短路效果

注:& | ,无论左边 true false,右边都要执行
&& || ,如果左边能确定整个表达式的结果,右边不执行

2. 样例

package com.itheima.logicoperator;
public class LogicoperatorDemo3{
    public static void main(String[] args){
        //1.&&
        //运行结果跟单个&是一样的
        //表示两边都为真,结果才是真
        System.out.println(true && true);//true
        System.out.println(false && true);//false
        System.out.println(true && false);//false
        System.out.println(false && false);//false
        
        //2.||
        //运行结果跟单个 | 是一样的
        //表示两边都为假,结果才是假
        System.out.println(true || true);//true
        System.out.println(false || true);//true
        System.out.println(true || false);//true
        System.out.println(false || false);//false   
        
        //3.短路逻辑运算符具有短路效果
        //简单理解:当左边的表达式能确定最终的结果,那么右边就不会参与运行了
        int a = 10;
        int b = 10;
        boolean result = ++a < 5 && ++b <5;
        System.out.println(result);//false
        System.out.println(a);//11
        System.out.println(b);//10
    }
}

3. 练习

package com.itheima.test;
public class Test3{
    public static void main(String[] args){
        /*
        数字6是一个真正伟大的数字,键盘录入两个整数
        如果其中一个为6,最终结果输出true
        如果它们的和为6的倍数,最终结果输出true
        其他情况都是false
        */

        //分析:
        //1.键盘录入两个整数
        // 变量a 变量b
        
        //2.a == 6 || b == 6 || (a + b) % 6 == 0
        //如果满足其中一个,那么就可以输出true

        //键盘录入两个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number1 = sc.nextInt();
        System.out.println("请输入第二个整数");
        int number2 = sc.nextInt();

        //可以短路逻辑运算符去连接三个判断
        boolean result = number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;
        System.out.println(result);
    }
}

八、三元运算符

1. 格式

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

int max = a > b ? a : b;

2. 计算规则

① 首先计算关系表达式的值
② 如果值为true,表达式1的值就是运算结果
③ 如果值为false,表达式2的值就是运算结果

3. 样例

package com.itheima.ternaryoperator;
public class TernaryoperatorDemo1{
    public static void main(String[] args){
        //需求:使用三元运算符,获取两个数的较大值

        //分析:
        //1.定义两个变量记录两个整数
        int number1 = 10;
        int number2 = 20;
        
        //2.使用三元运算符获取两个整数的较大值
        //格式:关系表达式 ? 表达式1 : 表达式2;
        //整个三元运算符的结果必须要被使用
        int max = number1 > number2 ? number1 : number2;
        System.out.println(max);
        System.out.println(number1 > number2 ? number1 : number2);
    }
}

4. 练习

package com.itheima.test;
import java.util.Scanner;
public class Test4{
    public static void main(String[] args){
        /*
        需求:动物园里有两只老虎,体重分别通过键盘录入获得
        请用程序实现判断两只老虎的体重是否相同
        */

        //分析:
        //1.键盘录入两只老虎的体重
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一只老虎的体重");
        int weight1 = sc.nextInt();
        System.out.println("请输入第二只老虎的体重");
        int weight2 = sc.nextInt();   
        //2.比较
        //true false
        //相同 不同
        //System.out.println(weight1 == weight2);

        String result = weight1 == weight2 ? "相同" : "不同";
        System.out.println(result);     
    }
}
package com.itheima.test;
import java.util.Scanner;
public class Test5{
    public static void main(String[] args){
        /*
        需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、200cm、165cm
        请用程序实现获取这三个和尚的最高身高
        */

        //1.定义三个变量记录三个和尚的身高
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;
        //2.拿着第一个和尚和第二个和尚进行比较
        //再拿着结果和第三个和尚进行比较即可
        int temp = height1 > height2 ? height1 : height2;
        int max = temp > height3 ? temp : height;
        //ctrl + alt + L 自动格式化代码
        System.out.println(max);
    }
}

5. 运算符优先级

记住 () 即可文章来源地址https://www.toymoban.com/news/detail-427730.html

附:更多内容

序号 文章目录 直达链接
1 Java入门 https://want595.blog.csdn.net/article/details/130318855
2 Java基础概念 https://want595.blog.csdn.net/article/details/130337370
3 运算符 https://want595.blog.csdn.net/article/details/130358604
4 判断和循环 https://want595.blog.csdn.net/article/details/130367081
5 数组 https://want595.blog.csdn.net/article/details/130399064
6 方法 https://want595.blog.csdn.net/article/details/130407188
7 面向对象 https://want595.blog.csdn.net/article/details/130421064
8 字符串 https://want595.blog.csdn.net/article/details/130432165
9 ArrayList https://want595.blog.csdn.net/article/details/130447360

到了这里,关于黑马程序员Java零基础视频教程笔记-运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学生管理系统-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)

    【案例6-2】 学生管理系统 【案例介绍】 1.任务描述 在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。每个功能的具体要求如下: 系统的首页:用于显示系统所有的操作,并根据用户在控

    2024年02月03日
    浏览(64)
  • 打印不同的图形-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

    【案例4-1】打印不同的图形 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例介绍】 案例描述 本案例要求编写一个程序,可以根据用户要求在控制台打印出不同的图形。例如,用户自定义半径的圆形和用户自定义边长的正方形。 运行结果   【案例分析】 ( 1 )

    2024年02月01日
    浏览(61)
  • 模拟QQ登录-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)

    【案例11-3】 模拟QQ登录 【案例介绍】 1. 案例描述 QQ是现实生活中常用的聊天工具,QQ登录界面看似小巧、简单,但其中涉及的内容却很多,对于初学者练习Java Swing工具的使用非常合适。本案例要求使用所学的Java Swing知识,模拟实现一个QQ登录界面。 2. 运行结果   运行结果

    2024年02月08日
    浏览(110)
  • 简易计算器-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)

    【案例11-2】 简易计算器 【案例介绍】 1. 案例描述 本案例要求利用Java Swing 图形组件开发一个可以进行简单的四则运算的图形化计算器。 2. 运行结果 运行结果   【案例分析】 要制作一个计算器,首先要知道它由哪些部分组成,如下图所示: 一个简单的图形化界面计算器,

    2024年02月03日
    浏览(50)
  • XML教学视频(黑马程序员精讲 XML 知识!)笔记

    XML数据格式: 不是html但又和html有点相似 XML数据格式最主要的功能就是 数据传输 (一个服务器到另一个服务器,一个网站到另一个网站) 配置文件、储存数据当做小型数据可使用、规范数据格式让数据具有结构性易读易处理 定义:指的是可扩展性标记语言; XML被发明的目

    2024年02月07日
    浏览(49)
  • [学习笔记]黑马程序员python教程

    1.9.1异常的捕获 1.9.1.1 为什么要捕获异常 1.9.1.2 捕获常规的异常 1.9.1.3 捕获指定的异常 e是接受异常信息的变量 1.9.1.4 捕获多个异常 1.9.1.5 捕获全部异常 1.9.1.6 异常的else 1.9.1.7 异常的finally 1.9.2 异常的传递 如果异常是在某一层产生,但是没有被catch,那么会继续往上层抛出,此

    2024年02月07日
    浏览(74)
  • 学习笔记-微服务基础(黑马程序员)

    spring cloud spring cloud alibaba eureka-server 注册中心 eureka-client 客户端 每30s发送心跳 服务 服务消费者 服务提供者 依赖 启动类 添加注解 @EnableEurekaServer 配置文件 application.yml 依赖 配置文件 application.yml 添加注解 @LoadBlanced 修改url 自定义负载均衡策略 1、定义新的IRule,将轮询策略(

    2024年04月13日
    浏览(58)
  • Linux命令基础,黑马程序员学习笔记

    command [-options] [parameter] command:命令本身 -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节 parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等 示例: ls -l /home/itheima ls是命令本身,-l是选项, /home/itheima是参数意思是以列表的形式,显示/home

    2024年02月19日
    浏览(101)
  • c++学习笔记-提高编程-模板(哔站-黑马程序员c++教学视频)

    通用的模具,提高代码复用性 不可以直接使用,只是一个框架;模板的通用性并不是万能的。 3.2.1 函数模板 函数模板的作用:建立一个通用函数,其函数返回值类型和参数类型可以不具体确定,用一个虚拟的类型来代表。 1)语法: templatetypename T//函数声明或定义 函数 temp

    2023年04月11日
    浏览(85)
  • 小程序入门笔记(一) 黑马程序员前端微信小程序开发教程

    微信小程序基本介绍 小程序和普通网页有以下几点区别: 运行环境:小程序可以在手机的操作系统上直接运行,如微信、支付宝等;而普通网页需要在浏览器中打开才能运行。 开发技术:小程序采用前端技术进行开发,如HTML、CSS、JavaScript等;而普通网页也是使用类似的前

    2024年02月08日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包