当前位置:   article > 正文

【Java】P2 Java 基础概念

【Java】P2 Java 基础概念

请添加图片描述


注释

一个梗: “当我们刚把代码写完,只有我跟上天能看得懂是什么意思;当过了一周,只有上天才能看得懂是什么意思了…"

代码注释的作用,是对程序中代码,进行解释说明;注释不参与编译,只是用作提高代码的可读性,辅助程序员记忆代码,辅助其他读者理解代码;

单行注释 与 多行注释

// 单行注释

/*
	多行注释1
	多行注释2
*/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

文档注释

在这里插入图片描述
图片左侧是代码部分,图片右侧是通过下述代码自动生成的 API说明文档部分;

// 生成说明文档命令:
javadoc -d mydoc -author -version HelloWorld.java
  • 1
  • 2

字面量

字面量的分类

字面量类型说明举例
整数类型不带小数点的数字-666, 99
小数类型带小数点的数字3.14, -5.12
字符串类型双引号括起来的内容“HelloWorld”, “徐鸿铎”, " "
字符类型单引号括起来的内容‘A’, ‘0’, ‘我’
布尔类型就真假两个值true, false
空类型null注意不能直接打印 null
制表符/t在打印的时候,把前面的字符串的长度补齐到8位,最少补1个空格,最多补8个
// 制表符举例
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("name" + '\t' + "age");
		System.out.println("tom" + '\t' + "23");
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

变量

Java是强类型,在定义变量时,必须指定 变量类型、变量名,可以不指定 变量值

// 制表符举例
public class HelloWorld {
	public static void main(String[] args) {
		int a = 1, b = 3;
		System.out.println(a + b);
		a = 2;
		System.out.println(a);
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

标识符

类名、方法名、变量名、包名、常量名等都可以称为标识符;


标识符的命名规则

  • 组成: 26个英文字幕大小写,数字,_ 以及 $
  • 开头: 数字不可开头
  • 关键字 不能作为标识符

大驼峰与小驼峰

  • 包名: 全部小写;xxxyyyzzz
  • 类名、接口名: 大驼峰;XxxYyyZzz
  • 变量名、方法名: 小驼峰;xxxYyyZzz
  • 常量名: 全部大写;XXXYYYZZZ


一些变量基本规则

long l1 = 123123123L;
// 注意long长整型需要最后带L字符。

float f1 = 12.3f;
// 注意浮点类型需要最后带f或者F字符。
// float以及double数据不适合用于精度要求高的领域,比如金融以及航天,如果需要高精度数字计算等,使用 BigDecimal 类;

char c1 = '\u0036';	// 支持Unicode
char c2 = '\n';		// 支持转义字符
char c3 = 97;		// 输出内容为a,遵循的是ASCII码;
// char c4 = '';	// 不支持空
// char c5 = 'ab'	// 不支持两个字符

boolean bo1 = true;
// boolean bo2 = 0;		//错误,不支持除了true以及false的所有值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

自动类型提升

自动类型提升: 取值范围小的 --> 取值范围大的;
byte、short、char —> int —> long —> float —> double

byte、short、char 类型的变量之间做运算,结果为int类型;

byte b1 = 1;
short s1 = 2;
int i1 = b1 + s1;
  • 1
  • 2
  • 3
char c1 = 'a';
byte b1 = 1;
int i1 = c1 + b1;
  • 1
  • 2
  • 3
long l1 = 123123;
// 不加L也编译通过的原因是从int类型自动类型提升为long类型;
  • 1
  • 2

强制类型转换

强制类型转换: 取值范围大的 --> 取值范围小的;
如果需要将容量大的变量类型转换为容量小的变量类型,需要使用强制类型转换
强制类型转换符号为:()

double d1 = 12.3;
// int i1 = d1;		// 失败,原因为double类型比int类型取值范围大;
int i1 = (int)d1;	// 强制类型转换为int类型
  • 1
  • 2
  • 3
long l1 = 12;
// short s1 = l1;	// 失败
short = (short)l1;	// 强制类型转换为short类型
  • 1
  • 2
  • 3

String 自动类型提升

System.out.println(3+4+"Hello");	// 输出7Hello
System.out.println("Hello"+3+4);	// 输出Hello34
System.out.println('a'+1+"Hello");	// 输出98Hello
System.out.println("a"+1+"Hello");	// 输出a1Hello
System.out.println("Hello"+'a'+1);	// 输出Helloa1
System.out.println("*"+"\t"+"*");
System.out.println('*'+'\t'+'*');	// 注意上述两个结果不同
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运算符

二进制、八进制、十进制与十六进制

计算机数据的存储底层使用 二进制补码 的形式存储;

二、八、十、十六进制表示方法:

int num1 = 103;		// 十进制
int num2 = ob10;	// 二进制
int num3 = 023;		// 八进制
int	num4 = 0X23a;	// 十六进制
  • 1
  • 2
  • 3
  • 4

算术运算符

取模

// 取模之后,结果与被除数的符号相同
int i1 = 12;
int j1 = 5;
System.out.println(i1 % j1);	// 值为2

int i1 = -12;
int j1 = 5;
System.out.println(i1 % j1);	// 值为-2

int i1 = 12;
int j1 = -5;
System.out.println(i1 % j1);	// 值为2

int i1 = -12;
int j1 = -5;
System.out.println(i1 % j1);	// 值为-2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

自增

// ++a1	先自增,然后赋值
// a2++ 先赋值,然后自增
int a1 = 10;
int b1 = ++a1;
System.out.println(a1, b1);		// a1: 11, b1: 11;

int a2 = 10;
int b2 = a1++;
System.out.println(a2, b2);		// a2: 11, b2: 10;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

保持原变量类型自增

byte b1 = 10;
// b1 = b1 + 1;		// 错误,无法保持原类型自增;
b1++;				// 保持原类型自增;
b1+=5;				// 同样会保持原类型增加;
  • 1
  • 2
  • 3
  • 4

e . g . e.g. e.g.

int m = 2;
int n = 3;
n *= m++;
System.out.println(m);	//3
System.out.println(n);	//6
  • 1
  • 2
  • 3
  • 4
  • 5

逻辑运算符

逻辑与 & 以及 短路与 &&

如果符号左侧是 true,&、&& 都会执行符号右侧的操作;
如果符号左侧是false,& 会继续执行符号右侧的操作,&& 不会执行符号右侧的操作;
开发中建议使用“短路与”以及“短路或”;

e . g . e.g. e.g.

boolean bo1 = (++a % 3 ==0) && (a++ % 7 ==0);
  • 1

异或 ^

符号两边布尔值相同时,值为 false;
符号两边布尔值不同时,值为 true;


位运算符

<<		// 左移
>>		// 右移,正数高位补0,负数高位补1
<<<		// 无符号左移
&		// 与
|		// 或
^		// 非
~		// 取反
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

条件运算符

e . g . e.g. e.g. 三元条件运算符

double result = (2 > 1)? 1 : 2.0;
  • 1

一个条件后跟一个问号( ? );如果条件为真值,则执行冒号( : )前的表达式;若条件为假值,则执行最后的表达式。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/itdef/article/detail/62244
推荐阅读
相关标签
  

闽ICP备14008679号