Java-常量、变量与注释-学习笔记02

本文详细介绍了Java编程中的标识符、关键字、变量及其命名规则,以及各种数据类型的特性和范围,包括整型、浮点型、字符型和字符串。还涉及到了变量的声明、类型转换和常量的使用,并讲解了注释的重要性。同时,文章讨论了布尔类型的唯一性和浮点型在精度上的差异。
摘要由CSDN通过智能技术生成

一. 标识符

  • 比如类名,变量名就是标识符
  • 标识符由字母、数字、下划线和$组成,且不能以数字为开头
  • 区分大小写
  • 标识符不能是java关键字和保留字
  • 反应其作用
  • 举例标识符:Hello, hello_word, _hello, a$1

二. 关键字

下图的紫色部分为关键字,关键字是有特殊含义的字符串,java还有一个保留字goto
在这里插入图片描述
java关键字如下图所示,图片来自百度百科
图片来自百度

三. 变量

变量的三个元素:变量类型、变量名和变量值

  • 变量名命名规则:
    • 满足标识符命名规则
    • 符合驼峰法命名规则:myStudent
  • 类命名规则:
    • 满足标识符命名规则
    • 满足Pascal命名规则:MyStudent

四. 数据类型

1. 介绍

在这里插入图片描述

数据类型说明字节(1字节8位 / 1 byte = 8 bits)表示范围
byte字节1 [ − 128 , 127 ] [-128, 127] [128,127]
short短整型2 [ − 32768 , 32767 ] [-32768,32767] [32768,32767]
int整型4 [ − 2147483648 , 2147483647 ] [-2147483648,2147483647] [2147483648,2147483647] [ − 2.1 4 9 , 2.1 4 9 ] [-2.14^9,2.14^9] [2.149,2.149])
long长整型8 [ − 2 32 [-2^{32} [232, 2 32 − 1 ] 2^{32}-1] 2321]
float单精度浮点型41bit(符号位) 8bits(指数位) 23bits(尾数位)
double双精度浮点型81bit(符号位) 11bits(指数位) 52bits(尾数位)
char字符型2 [ − 32768 , 32767 ] [-32768,32767] [32768,32767]
boolean布尔型1
  • float 的取值范围
    这篇文章这篇介绍了float为什么和int一样同样是4个 字节却能表示更多的数字,简单来说就是float把32位分为1bit(符号位) 8bits(指数位) 23bits(尾数位)float的指数范围为 [ − 127 , 128 ] [-127,128] [127128],取值范围就是 [ − 2 127 , 2 128 ] [-2^{127} , 2^{128}] [2127,2128],精度可以表示 2 23 = 8388608 2^{23} = 8388608 223=8388608,也就是说最多表示7位,可以完整表示6位。
  • double的取值范围
    double是1bit(符号位) 11bits(指数位) 52bits(尾数位)
    取值范围为 [ − 2 1024   + 2 1024 ] [-2^{1024} ~ +2^{1024}] [21024 +21024]
    精度可以表示 2 52 = 4503599627370496 2^{52} = 4503599627370496 252=4503599627370496,也就是最多可以表示16位,可以完整表示15位

2. 整型

  • 整型字面值:Java中有三种表示整数的方法,八进制、十进制、十六进制
    • 八进制:以0开头,包含0-7的数字(012,042)
    • 十六进制:以0x或0X开头,包含0-9的数字,及字母a-f,A-F(0x123abc, 0X12AB)
    • 举例123, 0123,0x123abc,0X4A, 0x123abcL(L指长整型)
  • 变量声明:数据类型 变量名(=值);

3. 浮点型

  • 浮点型字面值默认情况下是double类型,或末尾加d/D,比如123.456d123.4D。若想要表示float类型,则需要在字面值后加f/F
  • 变量声明
    下方代码是浮点型的变量声明与示例。从中可以看出可以将float变量赋值给double(带有一个小误差),但是不能将double赋值给float
package aaa.bbb;

public class FloatDemo {
	public static void main(String[] args) {
		//定义一个单精度浮点型变量,存放1.23
		float f = 1.23f;
		//定义一个双精度浮点型变量,存放1.23
		double d = 1.23f;
		double e = 1.23;
		System.out.println("f="+f);
		System.out.println("d="+d);
		System.out.println("e="+e);
	}
}
f=1.23
d=1.2300000190734863
e=1.23

4. 局部变量的储存方式

  • 将数据按照作用进行分类:类级、对象实例级、方法级、块级
  • 方法级的变量又称为局部变量
  • 局部变量的存储方式:在内存的占中申请一个空间来存储数据

5. 字符型

  • 字符型字面值用单引号内的单个字符表示(单引号内只能有一个值)。如'a''b'
  • 定义变量:char a = 'a'char ch = 65
package aaa.bbb;

public class FloatDemo {
	public static void main(String[] args) {
		char a = 'a';
		//这里b存的是ASCII码里的65
		char b = 65;
		char c='\u005d'
		System.out.println("a="+a);
		System.out.println("b="+b);
		System.out.println("c="+c);
	}
}
a = a
b = A
c = ]
  • Unicode编码:在值前加前缀\u。如char c='\u005d',005d是十六进制

5.1 转义字符(如\n

转义字符描述
\uxxxx四位16进制数所表示的符号
\’单引号字符(字符)
\"双引号字符(字符串)
\|反斜杠字符
\r回车
\n换行
\t横向跳格 tab效果
\b退格

6. 字符串

  • 字面值
    • 不是基本数据类型,但又有相似处。字符串是
    • 双引号引起来的0个或多个字符
  • 变量声明:String a = "";

7. 布尔类型

  • 只有truefalse,0或1是不行的
  • boolean b = true;

8. 变量的综合应用

package aaa.bbb;

public class VarDemo {
	public static void main(String[] args) {
		//定义两个整型变量x,y
		int x = 0, y = 1;
		System.out.print("x = "+x+'\n');
		System.out.println("y = "+y);
		System.out.print(x+"\t"+y+'\n');
		System.out.print("\'"+x+"\'\n");
		//用科学计数法表示浮点数
		double d1 = 1.23E5; //1.23+10^5
		float f = 1.23e5f;
		double d2 = .2; //0.2
	}
}

五. 类型转换

  • 类型转换分为自动类型转换和强制类型转换
    在这里插入图片描述

    • 顺着箭头方向的是自动类型转换过来需要强制类型转换
    double d = 1.2;
    float f = (float)d;//强制转换(type)
    
  • 例子

package aaa.bbb;

public class TypeExchange {
	public static void main(String[] args) {
		char c = (char)65536; //强制类型转换
		int n;
		n = c;//自动类型转换
		c = (char)n;//强制类型转换
		
		//整型和浮点型类型转换问题
		int x = 100;
		long y = x;
		x = (int)y;
		//long给float
		float f1 = 100000000000000L;
		System.out.println(f1); //1.0E14
		float f2 = 101231242123123L;
		System.out.println(f2); //1.01231238E14 后几位数据丢失了
	}
}

六. 常量

常量使用final定义,变量名需注意要全部大写

final int n = 5; //用final来定义变量
  • 例子
package aaa.bbb;

public class FinalDemo {
	public static void main(String[] args) {
		int m = 5;
		final int N =6;
		m = 10;
		//N = 10; 报错The final local variable n cannot be assigned. 
				//It must be blank and not using a compound assignment
		final double PI = 3.14; //命名是全部大写
		final double MAX_V = 1;
	}
}

七. 注释

/**
 * 这是第一种注释方法,给文档注释
 * 可以通过 javadoc -d doc abc.java在doc目录下得到一系列html文件,打开index.html就能查看了
 * @author haiyue
 * @version 1.0
 */

//这是第二种注释方法
/*
这是第三种注释方法 
*/
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值