【零基础学Java】第六天 Java运算符,标识符,输入语句,控制结构,类和对象的注意事项

【零基础学Java】第六天 Java运算符,标识符,输入语句,控制结构,类和对象的注意事项,第1张

📄个人简介
🔔作者简介:大家好,我是小学生!!🙈大二学生一枚,目前正在自学Java,如果大家觉得我写的还不错的话,希望大家给我点赞👍+收藏⭐+评论📢,有什么写的不对的地方还请大家多多指教🙏,共同进步。
📝个人主页:小学生!!
📖系列专栏
🌕阶段一:Java基础编程
💦目前已原创10篇

🌕阶段二:数据结构与算法
🌕阶段三: *** 作系统
🌕阶段四:计算机网络


🔥Java运算符,标识符,输入语句,控制结构,数组,类和对象的注意事项


文章目录
    • 🍁1.运算符,标识符,输入语句的注意事项
      • 🍂1.% 的本质
      • 🍂2./ 的陷阱
      • 🍂3.短路&& 与 逻辑& 的区别 (||与|类似)
      • 🍂4.逻辑异或( ^ )
      • 🍂5.复合赋值运算符会进行类型转换
      • 🍂6.运算符优先级(大致)
      • 🍂7.标识符规则
      • 🍂8.标识符命名规范
    • 🍁2.键盘输入
    • 🍁3.位运算
    • 🍁4.控制结构
    • 🍁5.类和对象
      • 🍂1.Java内存的结构分析
      • 🍂2.方法的传参机制

🍁1.运算符,标识符,输入语句的注意事项 🍂1.% 的本质

a % b =a - a / b * b。 -8 % -3 = - 2 , 8 % -3 = 2 ,-8 % 3 = - 2

🍂2./ 的陷阱
double a = 5 / 10 ; double b = 5.0/10
//a = 0.0 b = 0.5
🍂3.短路&& 与 逻辑& 的区别 (||与|类似)

&&:如果第一个条件为false,则第二个条件不判断,结果为false,效率高

&:不管第一个是否为false,第二个条件都要判断,效率低

🍂4.逻辑异或( ^ ) 🍂5.复合赋值运算符会进行类型转换
byte a=3;
a+=2;//正确,等价于a = (byte)(a+2);
a++;//正确,等价于a = (byte)(a+1);
a=a+2;//错误,int类型不能自动转换成byte
🍂6.运算符优先级(大致)
  1. 🧅(),{}等

  2. 🧅单目运算符! ~ – ++

  3. 🧅算术运算符 + -

  4. 🧅位移运算符 << >> >>> 位移

  5. 🧅比较运算符 < > <= >= instanceof(检查是否是类的对象) == !=

  6. 🧅逻辑运算符 & ^ | && ||

  7. 🧅三目运算符 ? :

  8. 🧅赋值运算符 != ^= &= >>>= >>= <<= -= += %= /= *= =

🍂7.标识符规则

标识符包含26个英文字母大小写,0-9,_ 或 $ ,不能是数字开头,不能含空格,不可用关键字和保留字,但可以包含。

🍂8.标识符命名规范
  1. 🧅包名:多单词组成时,所有字母都用小写。//com.hsp.crm

  2. 🧅类名,接口名:多单词组成时,所有单词首字母都大写。//TankShotGame

  3. 🧅变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始都大写。//tankShotGame

  4. 🧅常量名:所有字母都大写。多单词时,每个单词用下划线连接。//TAX_RATE

🍁2.键盘输入

接受用户的输入

1.🧅引入Scanner类所在的包。

2.🧅创建 Scanner 对象,new创建一个对象。

3.🧅接受用户的输入,使用相关的函数。

import java.util.Scanner;
public class Input{
	public static void main(String [] args){
       Scanner scanner =  new Scanner (System.in);
       System.out.println("请输入名字:");
       String name = scanner.next();
       System.out.println("我的名字是:"+ name);
	}
}
🍁3.位运算

1.🧅二进制以0b或0B开头,八进制以0开头,十六进制以0x或0X开头。

2.🧅位运算符:按位与&,按位或|,按位异或^,按位取反~,算术右移 >>,算术左移<<,逻辑右移>>>,没有<<<符号。

🧅算术右移:低位溢出,符号位不变,并用符号位溢出补高位,本质是/2。

🧅算术左移:符号位不变,低位补0,本质是*2。

🧅逻辑右移:低位溢出,高位补0。

🍁4.控制结构

1.🧅switch(表达式)中表达式的返回值数据类型必须是:byte,short,int,char,enum,String

2.🧅break是退出所有循环,continue是退出当前循环,return是跳出所在方法。

🍁5.类和对象 🍂1.Java内存的结构分析

🧅栈:一般存储基本数据类型(局部变量)

🧅堆:存放对象

🧅方法区:常量池(常量,比如字符串),类的加载信息

🍂2.方法的传参机制

🧅基本数据类型的传参机制:传递的是值(值拷贝),形参的改变不会影响实参。

🧅引用数据类型的传参机制:引用类型传递的是地址(传递也是值,但值是地址),可以通过形参改变实参!

🧅注意:当在方法中出现 p = null 和 p = new Person (); 这时实参并不会发生变化。

🧅原因如下:

方法在调用时会在栈中另外开辟一段独立的空间,p=null只是改变了在它独立空间内的数据,并没有改变main空间内的和堆区对象的数据。而 p = new Person()是在堆区又新建了一个对象并指向它,所以接下来的改变都是改变的新建的那个对象里的数据。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/729550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存