韩顺平0基础学Java——第5天

p72——p86

今天同学跟我说别学java,真的吗?唉,先把这视频干完吧。

逻辑运算符练习

x=6,y=6                                x=6,y=5

x=11,y=6                                x=11,y=5

z=48 错了,是50,注意y=true是赋值!!它是真的,这一行下去后z=48,下一句又是真的,然后就是50了!!被套路了。

解释(gpt说的):

在许多编程语言中,赋值操作符(=)用于将某个值赋给变量。在条件语句中,我们通常使用比较操作符(例如==)来检查变量的值是否等于某个特定的值。

因此,当你写 if(x=false) 时,它实际上是将x赋值为false,然后判断赋值操作的结果,而不是判断x的值是否为false。因为赋值操作成功并且返回被赋的值(在这里是false),所以整个条件表达式的结果是假。

而当你写 if(x=true) 时,实际上是将x赋值为true,然后判断赋值操作的结果。因为赋值操作成功并且返回被赋的值(在这里是true),所以整个条件表达式的结果是真。

这种情况通常是不推荐的,因为它可能导致混淆。应该使用比较操作符(例如==)来检查变量的值是否等于某个特定的值,而不是使用赋值操作符(=)。

赋值运算符

复合赋值运算符会进行类型转换。例:

byte b = 2;

b += 2;//这里b=b+2,应该是个int,但是赋值给作为byte的b是编译不过去的。所以实际上,b+=2等价于b=(byte)(b+2);所以在b++时底层也有个类型转换b=(byte)(b+1)

三元运算符

条件表达式?表达式1:表达式2;

细节:表达式1和表达式2要为可以赋值给接受变量的类型(或可以自动转换)

这样不行

但是改成 int c = a > b ? (int)1.1 : (int)3.4;可以

三元运算符可以改成if—else语句。

实例:实现三个数的最大值

public class zuidazhi{
    public static void main(String[] args){
        int a,b,c;
        int max = a > b? (a > c? a:c):(b>c? b:c);
}}

老师:

原理:

在第二行里把max1替换成前面的表达式。

运算符的优先级

大致印象

1.()、{}等

2.单目运算++ --

3.算术运算

4.位移运算

5.比较运算

6.逻辑运算

7.三元运算

8.赋值运算

标识符的命名规则和规范

规则:必须遵守

规范:这样做更专业

1.凡是可以自己取名的地方都叫标识符

2.规则:由大小写英文字母和数字、_、$组成,数字不能开头。

                不能使用关键字和保留字,但是可以包含关键字和保留字。ps:保留字是现有java版本尚未使用,但以后版本可能会作为关键字使用。

                严格区分大小写,长度无限制

                标识符不能含空格

3.规范:包名:多单词组成时所有字母都小写

                类名、接口名:多单词组成时,所有单词首字母大写XxxYyyZzz(大驼峰)

                变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始首字母大写,如xxxYyyZzz(小驼峰)

                常量名:所有字母都大写,多单词用下划线连接XXX_YYY_ZZZ

键盘输入

Input.java,需要一个扫描器(对象),就是Scanner(是个类)

步骤:

1导入该类所在的包,java.util.*

2创建该类对象(声明变量)

3调用里面的功能

案例:可以从控制台接收用户信息,【姓名,年龄,分数】

import java.util.Scanner;//导入包和类
public class Input{
    public static void main(String[] args){
        //创建一个对象
        Scanner myScanner = new Scanner(System.in);
        //读取键盘输入
        System.out.println("name?");
        String name = myScanner.next();//读字符串
        System.out.println("age?");
        int age = myScanner.nextInt();//读整数
        System.out.println("score?");
        double score = myScanner.nextDouble();//读浮点
        System.out.println("name:"+name+"age:"+age+"score:"+score);
}}
        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值