官方地址
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使 用。自己命名标识符时要避免使用这些保留字
goto 、const
定义合法标识符规则:
由26个英文字母大小写,0-9 ,_或 $ 组成
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
Java中的名称命名规范:
**包名:**多单词组成时所有字母都小写:xxxyyyzzz
**类名、接口名:**多单词组成时,所有单词的首字母大写:XxxYyyZzz
**变量名、方法名:**多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz
**常量名:**所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
反例:_name / name / n a m e / n a m e / n a m e name / name_ / name name/name/name / name
【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,纯拼音命名方式更要避免采用。
正例:renminbi / alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。
反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
【强制】类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO/ PO / UID 等。
正例:JavaServerlessPlatform / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:javaserverlessplatform / UserDo / XMLService / TCPUDPDeal / TAPromotion
【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵
从驼峰形式。
正例: localValue / getHttpMessage() / inputUserId
【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字
长。
正例:MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
反例:MAX_COUNT / EXPIRED_TIME
【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使
用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
正例:应用工具类包名为 com.alibaba.ai.util、类名为 MessageUtils(此规则参考 spring 的框架结构)
7.【推荐】在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度。
正例:startTime / workQueue / nameList / TERMINATED_THREAD_COUNT
反例:startedAt / QueueOfWork / listName / COUNT_TERMINATED_THREAD
变量的概念
变量的作用
使用变量注意
声明变量
// 声明变量
int var;
// 变量赋值
var = 10;
// 声明一个变量并且为其赋值
int var = 10;
对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分
变量的分类-按数据类型 配了不同大小的内存空间。
500MB 1MB = 1024KB 1KB= 1024B B= byte ? bit?
bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。
public class VariableTest {
public static void main(String[] args) {
int number1;
number1 = 10;
int number2;
number2 = 20;
int number3;
number3 = number1 + number2;
System.out.println("Number3 = " + number3);
int number4 = 50;
int number5 = number4 - number3;
System.out.println("Number5 = " + number5);
}
}
char 型数据用来表示通常意义上“字符”(2字节)
Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字 母,一个汉字,或其他书面语的一个字符。
字符型变量的三种表现形式:
char c1 = 'a'; char c2 = '中'; char c3 = '9';
char c3 = ‘\n’; // '\n'表示换行符
\u000a 表示 \n。
boolean 类型用来判断逻辑条件,一般用于程序流程控制:
boolean类型数据只允许取值true和false,无null。
String str = “abcd”;
str = str + “xyz” ;
int n = 100;
str = str + n;
String str1 = 4; //判断对错:no
String str2 = 3.5f + “”; //判断str2对错:yes
System.out.println(str2); //输出:”3.5”
System.out .println(3+4+“Hello!”);//输出:7Hello!
System.out.println(“Hello!”+3+4); //输出:Hello!34
System.out.println(‘a’+1+“Hello!”); //输出:98Hello!
System.out.println(“Hello”+‘a’+1); //输出:Helloa1
String a = “43”;
int i = Integer.parseInt(a);
判断是否能通过编译
short s = 5;
s = s-2; //判断:no
byte b = 3;
b = b + 4; //判断:no
b = (byte)(b+4); //判断:yes
char c = ‘a’;
int i = 5;
float d = .314F;
double result = c+i+d; //判断:yes
byte b=5;
short s = 3;
short t = s+b; //判断:no
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位; 当是long类型时,二进制默认占64位,第64位是符号位
二进制的整数有如下三种形式:
计算机以二进制补码的形式保存所有的整数。
为什么要使用原码、反码、补码表示形式呢?
计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂! 于是 人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正 数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有 减法, 这样计算机运算的设计就更简单了。
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
System.out.println(“5+5=”+5+5) //打印结果是? 5+5=55 ?
思考1:
short s = 3;
s = s+2; 1
s += 2; 2 1和2有什么区别?
思考2:
int i = 1;
i *= 0.1;
System.out.println(i);//
i++;
System.out.println(i);//
思考3:
int m = 2;
int n = 3;
n *= m++;
System.out.println("m=" + m);
System.out.println("n=" + n);
思考4:
int n = 10;
n += (n++) + (++n);
System.out.println(n);
思考1:
boolean b1 = false;
//区分好==和=的区别。
if(b1==true)
System.out.println("结果为真");
else
System.out.println("结果为假");
理解:异或,追求的是“异”!
请写出每题的输出结果
1题:
int x = 1;
int y=1;
if(x++==2 & ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y);
2题:
int x = 1,y = 1;
if(x++==2 && ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y);
3题:
int x = 1,y = 1;
if(x++==1 | ++y==1){
x =7;
}
System.out.println("x="+x+",y="+y);
4题:
int x = 1,y = 1;
if(x++==1 || ++y==1){
x =7;
}
System.out.println("x="+x+",y="+y);
位运算是直接对整数的二进制进行的运算