适合有编程基础的人看的《韩顺平零基础30天学java》笔记(P63~P103)

写在最前边:

研究生一枚,为后端实习和未来工作打基础。无意间发现韩顺平老师的课程,细心细致,讲课和吴恩达老师一样,都是保姆式讲解,各种基础知识都会补充,爱了。
韩顺平老师课程地址:https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.999.0.0
阅读提醒:本笔试适合有编程语言基础的伙伴阅读,因为本兔兔是本专业的,有c、c++、python 、sql基础,笔记中特别的基础的内容就没有记录。完全零基础的小伙伴建议跟着韩老师的课程自己记录。

Java 基础

第二阶段 java编程(续)

介绍一下老师的解决问题的过程
1.明确需求
2.思路分析
3.走代码

第四章 运算符

一、 运算符介绍
  • 算术运算符

    操作对象:数值型变量。
    应用范围:最广
    在这里插入图片描述
    重点:
    (1)除法 “/”: 整数 / 整数 = 只保留整数部分。例如10 / 4 = 2
    (2)取模(取余)“%” :记住一个公式 a % b = a - (int)a / b * b
       所以在java中%两边的操作数中有负数、小数也可以。但是不要忘记小数运算的结果是近似值哦
    在这里插入图片描述
    (3)++ / – 的使用(以++为例)

    –>作为独立语句使用时,前++后++都等价于i=i+1。
    –>作为表达式使用时要特别注意:
    在这里插入图片描述

    int x = 5;
    if(x++ == 5):  //这里x++在比较式的前边,那还是遵循前++后++的原则。这里是后++,那么x与5先判等,再x = x + 1
    	System.out.println("true")
    

    经典面试题:在这里插入图片描述

  • 赋值运算符

    基本赋值运算符: =
    复合赋值运算符: += , -= , /= , *= %=
    举例说明:a += b ; 即 a = a+b;
    特点:
    1.运算顺序从右至左。即先算赋值运算符右边的式子,再赋值给左边的变量。
    2、赋值运算符左边只能是变量,右边可以是变量、表达式、常量值
    3、复合赋值运算符会将结果进行类型转换为左边变量的类型,举例说明:

    byte b = 1;
    >b = b + 1; //报错,因为1默认类型是int,int精度>byte精度
    b += 1 ; //正确。等价于 b = (byte)(b + 1);
    b++; //正确,和复合赋值运算符有相同的效果

  • 关系运算符【比较运算符】

    关系运算符的结果都是boolean型。
    应用范围:常用在if条件中或者循环条件中
    在这里插入图片描述+ 逻辑运算符 >运算规则 在这里插入图片描述
    说明:(1)逻辑 & 和短路 && 的结果看看起来一致,那么区别在哪里?
       短路&&当第一个条件为false时,就不会再判断第二个条件,效率高
       逻辑&,两个条件必须都要判断
       开发时使用的基本是短路&&
    说明:(2)逻辑 | 和短路 || 的结果看看起来一致,那么区别在哪里?
       短路||当第一个条件为true时,就不会再判断第二个条件,效率高
       逻辑|,两个条件必须都要判断
       开发时使用的基本是短路||

    练习题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    解析:赋值式子的返回值在关系运算符的两边,就是true。如本例子中的y=true、x=flase。一定要记得哦。

  • 三元运算符

    条件表达式?表达式1:表达式2
    运算规则:
    1.条件表达式为true,运算结果为表达式1;
    2.条件表达式为false,运算结果为表达式2
    表达式1和表达式2的结果精度要小于等于等号左边的接收变量,否则要使用强制类型转换。因为这里没有不像复合赋值运算符一样可以自动强制转换哦!以下举例:
    在这里插入图片描述
    在这里插入图片描述

  • 位运算符【二进制,】
    & 按位与:每一位置的两个操作数,全1则1,否则为0
    |按位或:每一位置的两个操作数,全0则0,否则为1
    ^按位异或:每一位置的两个操作数,不同为1,相同为0
    ~按位取反:0->1 , 1->0

    以上四种位运算,用二进制补码运算,但是运算结果要使用补码转为对应原码计算出真实值(十进制)

    >>算术右移:低位(最右边)溢出,符号位补充高位(最左边)x >> n 相当于 x / 2的n次方
    <<算数左移:高位(最左边)溢出,用 0 补充低位(最右边)x << n 相当于 x * 2的n次方
    >>>逻辑右移(无符号右移),低位溢出,高位补0

  • 运算符优先级
    在这里插入图片描述

二、 标识符介绍
  • 概念在这里插入图片描述
  • 标识符命名规则(必须遵守
    在这里插入图片描述
  • 标识符命名规范(这样写更加专业
    在这里插入图片描述
三、四种进制(与位运算有关)
  • 不同进制在java语言中的表示方式

    二进制:以0b / 0B开头,位数必须是
    十进制
    八进制:以== 0 开头
    十六进制:以
    0x / 0X==开头,10-15用a-f或者A-F表示都可以
    在这里插入图片描述

  • 进制转换(记住规则的同时也要记得,电脑自带的科学计算器啊哈哈哈)

    举例:
    1、二、八、十六进制 --> 十进制(以16进制为例)
    在这里插入图片描述
    2、十进制 --> 二、八、十六进制
       将该十进制数不断除以二 / 八 / 十六,直到商为0为止。然就将每步得到的余数从下到上按从左至右的顺序书写。
    在这里插入图片描述
    3、二进制 --> 八、十六进制


    4、八、十六进制 --> 二进制

四、原码、反码、补码(与第四节的位运算有关)在这里插入图片描述

练习题


在这里插入图片描述
注意:容易犯错的地方
1、 a + 1;//1 的默认类型是int
  a + 1.0 //1.0 的默认类型是double
  所以运算之后要结合a和1/1.0的默认类型,看看运算结果到底是什么类型,改用什么类型存储合适!!!
2、将字符串转换为基本类型,要调用包!!!


五、键盘输入
  • 介绍:使用Scanner类创建扫描器(对象)即可接收键盘输入。
  • 步骤:
    • 导入Scanner所在的包 java.util.Scanner
    • 创建该类对象(声明变量)
    • 调用里边的对应的功能 接收对应数据类型的键盘输入
import java.util.Scanner
...
	Scanner myScanner = new Scanner(System.in);
	String s = myScanner.next();//接收字符串
	char c = myScanner.next.().charAt(0);//接收一个字符
	int a  = myScanenr.nextInt();
	...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值