标签:volatile 写代码 字母 布尔值 auth 逻辑 ola 相关 this
平时我们编写代码,在代码量比较少的时候,我们还可以看得懂,但是当项目结构一旦复杂起来,我们就需要用到注释了。
注释并不会被执行,是给我们写代码的人看的
书写注释是一个非常好的习惯
单行注释 //
多行注释 /**/
文档注释 /** */
public class Hello{
publiv static void main(String[] args){
//单行注释
System.out.print("Hello,World");
/*
多行注释
*/
//JavaDOC 文档注释 /** */
/**
* @Author WanG
* @Description HelloWorld
*/
}
}
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
null | 空 | |
所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始
首字母之后可以是字母(A-Z或者a-z)、美元符($)、或者下划线(_)或数字的任何字符组合
不能使用关键字作为变量名或者方法名
标识符区分大小写
可以使用中文命名,但是一般不建议去使用,也不建议用拼音
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
基本类型(primitive type)
数值类型
整数类型
byte占1个字节:-128~127
short占2个字节:-32768~32767
int占4个字节:-2147483648~2147483647
long占8个字节:-9223372036854775808~9223372036854775807
浮点类型
float占4个字节
double占8个字节
字符类型
char占2个字节
boolean类型
占1位其值只有true和false两个
引用类型(reference type)
类
接口
数组
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低------------------------------->高
byte,short,char->int->long->float->double
运算中,不同类型的数据先转化为同一类型,然后在运算。
强制类型转换 (类型)变量名 高到低
自动类型转换 低到高
注意
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换为低容量的时候,强制转换
在转换的时候可能存在内存溢出或者精度问题
可以变化的量,Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量,变量类型和作用域。
注意
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符。
变量声明是一条战争的语句,因此每个变量结束必须加一个分号结尾。
变量作用域
类变量 需要加一个静态static
实例变量 从属于对象:如果不初始化值,会输出默认值,数值为0或者0.0,布尔值默认为false,除了基本类型,其余的默认为null
局部变量 必须声明和初始化值
初始化后不能再改变的值,不会变动的值,值被设定后,在程序运行过程中不允许被改变。常量名一般使用大写字符。
final 常量名 = 值; final double PI = 3.14;
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Car,LastName
方法名:首字母小写和驼峰原则:run(),runRun()
Java语言支持如下运算符
算数运算符 + - * / % ++ --
赋值运算符 =
关系运算符 > < >= <= == != instanceof
逻辑运算符 && || !
位运算符 & | ^ ~ >> << >>>
条件运算符 ? :
拓展赋值运算符 += -= *= /=
算术运算符 (++ --) 一元运算符
int a = 3;
int b = a++;
int c = ++a;
System.out.println(a); //a = 5
System.out.println(b); //b = 3
System.out.println(c); //c = 5
位运算符 (二进制)
A = 0011 1100 B = 0000 1101
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
A ~ B = 1111 0010
<< *2 >> /2
2<<3 16 8>>2 2
字符串连接 + 只要在运算前方是String类型 结果会转换为String
int a = 10;
int b = 20;
System.out.print("" + a + b); //结果为1020
System.out.print(a + b + ""); //结果为30
三元运算符 条件运算符
//x ? y : z
//如果x== true,则结果为y,否则结果为z
int score = 80;
String s = score < 60 ? "不及格" : "及格";
System.out.print(s); //输出及格
运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | <<、>>、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、<<=、>>=、>>>= | 从右向左 |
包机制:
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名;
为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包,使用impot语句可完成此功能
import package1[.package2...].(classname|*);
JavaDoc:
javadoc命令是用来生成自己API文档的
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
标签:volatile 写代码 字母 布尔值 auth 逻辑 ola 相关 this
原文地址:https://www.cnblogs.com/WanGYIwen-/p/12838184.html