Java基础 - 数据类型&运算符

第一章:数据类型+运算符

1.1注释(很有必要 )

  1. 注释的作用:
    • 注释第一方便阅读,第二为了增加程序的阅读性
  2. Java 文件在编译的时候 注释的代码会被抛弃 不会进行编译在字节码文件中是没有注释的内容
  3. 注释的方式 :
    • 单行注释 以// 开头
    • 多行注释 以/* 开头 以*/结尾在中间的内容 为注释 内容 可以作为行内注释但是不可以嵌套
    • 文档注释 以/**开头 以*/ 结尾 包含一些说明性的文字javadoc标签(后期写项目时 可以生成api)
      //main主函数
      public static void main(String[]args){
      }
      
      public class HelloWorld {
      	public static void main(String[] args) {
      		System.out.println("hello world");
      	}
      
      }
      

1.2 标识符

  1. 什么是标识符:
    • 标识符是用来给变量 类 方法以及包进行命名的。
  2. 标识符的使用规范:
    • 标识符必须以字母 下划线 美元符号$ 开头
    • 标识符的其他部分可以是字母 下划线_ 美元符 和数字的任意组合
    • java的标识符对大小写敏感,且长度无限制
    • 标识符不可以是java的关键字
    • 表示类的标识符 :每个单词的首字母大写 Man Welcome
    • 表示方法和变量的标识符; 第一个单词小写 从第二个单词开始首字母大写 eat() eatFood()

【注意】java使用的Unicode字符集 而不是ASCII字符集 所以包含汉字 但是不建议使用汉字来定义标识符。

1.3 关键字和保留字

  • 关键字就是保留字不需要记【以后会天天的见到 不需要单独记忆】
    在这里插入图片描述
    strictfp, 即 strict float point (精确浮点) strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范

1.4 变量的本质

  1. 变量的本质就是一个可以操作的存储空间,空间位置是确定的, 但是里面的内容是不确定的,我们可以通过变量名来访问 对应的存储空间,从而操纵整个存储空间存储的值
  2. 变量作为程序的最基本的存储单元, 其要素包括变量名,变量类型和作用域 。变量在使用前需要声明,只有在声明变量之后,才能为其分配相应长度的存储空间,才能使用变量
  3. 注意:
    • 每个变量都有类型,类型可以是基本类型也可以是引用类型声明变量需要以分号结束 可以将变量的声明与初始化放在同一行中例如:Int age = 18;
    • 变量需要声明和初始化(赋值)才能使用

1.5 变量的分类(三种)

  1. 分类:
    • 静态变量(类变量 static variable)
      使用static 定义从属于类,生命周期伴随类而始终,从类的加载到卸载。
    • 局部变量 (local variable)
      方法或是语句内部定义的变量。生命周期是从声明的位置开始到方法或是语句块执行完毕为止。
    • 成员变量(也叫实例变量 member variable)
      方法外部类内部定义的变量 从属于对象,生命周期伴随对象而始终。 对象的成员变量 会自行的初始化 int初始化为 0 double初始化为 0.0 char初始化为 \u0000 boolean 初始化为false
  2. 常量 constant
    1. Java中利用关键字final 来定义一个常量,常量一但被定义之后就不能更改其值。
      Int age = 18final String name = “上山打老虎” 
      
    2. 常量命名规则是大写字母和下划线:MAX_VALUE

1.6 基本数据类型

  1. Java中定义了3类8种基本数据类型:

    • 数值型 byte1 short2 int4 long8 float4 double8 字节
    • 字符型 (文本型)char 2字节
    • 布尔型 boolean 1 字节(boolean类型所占用的字节数有争议)
  2. 三种引用数据类型 :类 接口 数组

  3. 不同的数据类型占用的字节和范围:
    在这里插入图片描述

  4. Java中四种整型常量的表示方法:四种常用的进制

    • 十进制 0~9 如 99
    • 八进制 要求以0开头 015
    • 十六进制要求以0x 或是0X开头 0X15
    • 二进制 要求以0B 或是0b开头 0b0110100
  5. Java浮点数常量的表示形式

    • 十进制数形式 3.14 5.12
    • 科学计数法形式 314e2 314e-2
      Float 单精度类型 7位有效数字
      Double 双精度类型
    • 注意
      • 没有后缀的浮点数默认是double类型 但是也可以在浮点数值加上一个F(或者是f)表示Float类型(类似长整型在末尾上加上一个L或者是l)

      • 最后注意:浮点数不精确 不可以用浮点数进行比较!

      • 如果需要比较可以用java.math 下的BigInteger 或是BigDecimal来进行比较 这两个类可以实现任意长度的数值的运算

  6. 布尔类型变量

    • Boolean ture or false

      public class TestOperating {
      	public static void main(String[] args) {
      		byte a = 1;
      		int b = 22;
      		long d = 1L;
      		int c = a+b;
      		long e = c+d;
      		System.out.println(c);
      		System.out.println(e);
      		float f = 3.14F;
      		double g = 3.14;
      		double h = 3.14;
      		//float i = f+g;   报错
      		double i = f+g;
      		double l = g+h;
      		System.out.println(i);//  这句代码  体现了  浮点数的不准确性6.280000104904175
      		System.out.println(l);
      		//自增  自减 
      		int m = 3;
      		int n = ++m;  //先给m赋值3  在自加1   最后在赋值给n    -- 是一样的
      		System.out.println(n);//4
      		System.out.println(m);//4
      		int o = 3;
      		int p = o++;//先给p赋值3 然后o自加一 所以p的值是3 o的值是4
      		System.out.println(o);//4
      		System.out.println(p);//3
      		char b1 = 'a';
      		char b2 = 'c';
      		System.out.println(a>c);  //false   
      		System.out.println((int)b1);
      		//97可以强制转型 也可以用0+b1 它会自动的转型
      		System.out.println((int)b2);//99
      		System.out.println(0+b1);//97
      		
      	
      	}
      }
      
      
      public class TestDataType {
      	public static void main(String[]args) {
      		int a = 18;
      		int b = 014;//以0 开头是8进制
      		int c = 0x15;//以0x 开头是16 进制
      		int d = 0b010101101001;//以0b开头是2 进制
      		System.out.println(a);
      		System.out.println(b);
      		System.out.println(c);
      		System.out.println(d);
      	
      		byte age = 30;
      		short salary = 30000;
      		int population = 2000000;
      		long money = 20000000000000L;
      		System.out.println(age);
      		System.out.println(salary);
      		System.out.println(population);
      		System.out.println(money);
      		
      		float e = 3.14F;// 浮点数是不精确的  不能用于精确的比较  一定要记住!!!
      		double f = 3.14;
      		double g = 314e-2;//科学计数法  
      		System.out.println(e);
      		System.out.println(f);
      		System.out.println(g);
      		char  h = 'a';
      		char i = '上';//可以表示转译字符  使用16 进制   使用单引号  双引号是字符串
      							
      		System.out.println(h);
      		System.out.println(i);
      		
      		//测试布尔类型
      		boolean man = false;
      		if(!man) {     //less is more 
      			System.out.println("不是男性");
      		}else {
      			System.out.println("是男性");
      		}
      	} 			
      }
      

1.7 运算符

  1. 分类:
    1. 算数运算符 :
      • 二元运算符 + - * / %
      • 一元运算符 ++ --
    2. 赋值运算符 =
    3. 扩展运算符 += -= *= /=
    4. 关系运算符 < > >= <= == !=
    5. 逻辑运算符 && || ! ^
    6. 位运算符 & | ^ ~ >> << >>> >>(表示的是有符号右移:正数右移高位补零 负数右移高位补一) >>>(>>> 表示的无符号右移 也叫逻辑右移:不论是正数还是负数在右移的时候都将高位补零 )
    7. 条件运算符 ?:
    8. 字符串连接符 +
      在这里插入图片描述
  2. 详解:
    • 算数运算符规则 :
      • 整数运算:有long 就是long 没有long 就是int
      • 浮点运算:有double 就是double 只有两个都是float才是float
      • 取模运算 取余 余数的符号与被除数相同
      • ++ 表示的是自增1 – 表示的是自减1
    • 赋值运算符 和 扩展运算符
      • 赋值运算符 =
        • Int a = 3; //表示的是将等号右边的3 赋值给左边的变量a
      • 扩展运算符 += -= *= /= %=
        • a += b–> a = a + b 其余的同理
    • 关系运算符 关系运算的结果是true or false
      • ==等于 != 不等于 >大于 <小于 >=大于等于<=小于等于
      • 注意= 是赋值的意思 == 是等于 char 可以进行大小的比较
    • 逻辑运算符 用来操作Boolean 值 与 或 非
      • 逻辑与 & 两个操作数都是true 才是true
      • 逻辑或 | 两个操作数有一个是true 就是true
      • 短路与 && 只要是有一个是False 就直接返回false
      • 短路或 || 只要是有一个是true 就直接返回true
      • 逻辑非 ! 取反 !False 就是true
      • 逻辑异或 ^ 相同为false 不同为true
        • 短路问题:短路与 短路或 从左到右计算 只要通过运算符左边的操作数就可以确定该逻辑表达式的值, 就不会继续计算运算符右边的值 提高效率 (以后建议使用)
    • 位运算符
      • 位运算 左移一位 就是* 2 <<3 * 4 = 3<<2
      • 右移一位 就是/2 >> 12/4 = 12>>2
      • 移位算法效率高且专业 能够使用额时候建议使用。
    • 字符串连接符 +
      String a = "3";
      Int b = 4;
      a+b = 34 //而不是7 结果是字符串34 不是int类型
      
    • 条件运算符(三目条件运算符) 需要注意的就是三目运算符的结合性 是从右向左的 不是从左向右的
      • X?Y:Z; 代指简单的条件运算 :如果条件X成立 则执行Y 否则执行Z。

      • 下面的代码输出的是什么:

         boolean b= true? false: true == true? false: true;
         System.out.println(b);// 输出的就是false 考察的是两点 一点就是 三元运算符 的右结合性 另一点就是== 和 三元运算符的优先级关系
        
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上山打卤面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值