1.注释
注释平不会被执行,是给我们写代码的人看的,书写注释是一个非常好的习惯,平时写代码一定要注意规范!
Java中的注释有三种:
单行注释 多行注释 文档注释
有趣的代码注释
2.标识符
关键字
Java所有的组成部分都需要名字。类名、变量名以及方法名都被成为标识符。
注意点
首字符以字母(A-Z or a-z)、美元符 $、或者下划线 _ 开头 (不能以数字开头)
首字符之后可以是字母(A-Z or a-z)、美元符 $、或者下划线 _ 或者数字的任何组合
不能用关键字作为变量名或方法名,标识符大小写敏感
合法标识符举例:age、$salary、value、 _1_value
非法标识符举例:123abc、-salary、#abc
可以使用中文命名,但一般不建议。拼音也不建议(low)
3.数据类型
- 强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 - 弱类型语言
- Java的数据类型
基本数据类型(Primitive Type)
引用数据类型:类 接口 数组
补充:字节、位、字符
位(bit):计算机内部 数据储存的最小单位,用b表示,11001100是一个八位二进制数。
字节(byte):计算机中 数据处理的基本大内,用B表示
字符:指计算机中使用的字母、数字、字和符号
1B(字节)=8b(位)
1024B=1KB
1024KB=1M
1024M=1G
4.类型转换
由于Java是强类型语言,每个变量必须声明其类型,所以在运算时,需要类型转换
byte,short,char->int->long->float->double
大转小要强转,小转大默认就行
- 运算中,不同类型先转化为同一类型,然后进行运算
- 强制类型转换 (类型)变量名 高->低
- 自动类型转换 低->高
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
public class Demo02 {
public static void main(String[] args) {
int i=128;
byte a=(byte)i;//内存溢出
double b=i;
System.out.println(i);//128
System.out.println(a);//128
System.out.println(b);//128.0
System.out.println("=============");
System.out.println((int)23.70);//23
System.out.println((int)-49.897f);//-49
System.out.println("=============");
char c='a';
int d=c+1;
System.out.println(d);//98
System.out.println((char)d);//b
}
}
public class Demo3 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total=money*years;//-1474836480,溢出
long total2=money*years;//默认是int,转换之前已存在问题了?
long total3=money*((long)years);//先把一个数转换成long
System.out.println(total);//-1474836480
System.out.println(total2);//-1474836480
System.out.println(total3);//2000000000
}
}
5.变量 常量 作用域
变量
变量:可以变化的量
变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量。
type varName [=value] [{,varName[=value]}];
-
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分号结束 -
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词意外,后面的单词 首字母大写
局部变量:首字母小写和驼峰原则
方法名:首字母小写和驼峰原则:run(),runRun()
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
变量作用域
类变量:static
实例变量:从属于对象;如果不自行初始化,这个类型的默认值是0 0.0 布尔值默认false,除了基本类型,其余的默认值都是null
局部变量:必须声明和初始化值
常量
常量:初始化后不能改变值!不会变动的值
final 常量名=值;
final double PI=3.14;
6.运算符
public static void main(String[] args) {
//二元运算符
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
public static void main(String[] args) {
long a=123123123123123123L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//Long
System.out.println(b+c+d);//Int
System.out.println(c+d);//Int
}
public static void main(String[] args) {
//关系运算符返回的结果:正确、错误、布尔值
int a=10;
int b=20;
int c=21;
System.out.println(c%a);//模运算
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
public static void main(String[] args) {
//一元运算符 ++ -- 自增 自减
int a=3;
int b=a++;//b=a=3, a=a+1=4
int c=++a;//c=a=a+1=4+1=5, a=a=5
//幂运算 3^2=3*3
double pow=Math.pow(3,2);
System.out.println(pow);
}
public static void main(String[] args) {
//与and 或or 非(取反)
boolean a=true;
boolean b=false;
System.out.println("a&&b:" +(a&&b));//两个变量都为真,结果才为true
System.out.println("a||b:" +(a||b));//两个变量有一个为真,结果就为true
System.out.println("!(a&&b):" +!(a&&b));//如果为真,则为假;如果为假,则为真
//短路运算
int c=5;
boolean d=((c<4)&&(c++<4));
}
public static void main(String[] args) {
/*
a=0011 1100
b=0000 1101
a&b =0000 1100
a|b =0011 1101
a^b =0011 0001 相同为0异为1
~b =1111 0010
<< *2 左移
>> /2 右移
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a=a+b=30
a-=b;//a=a-b=30-20=10
System.out.println(a);//10
//字符串连接符 +
System.out.println(""+a+b);//1020 纯粹连接符
System.out.println(a+b+"");//30 注意:运算之后转成 字符串类型!!
}
public static void main(String[] args) {
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score=80;
String type =score>60?"及格":"不及格";
}
7.包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
包语法的格式为:
package pkg1[ .pkg2 [ .pkg3… ] ]
一般利用公司域名倒置作为包名 如:com.zhang.xxx
为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。
使用import语句 完成此功能
import package1[.package2].(classname|*)
注意:导入的是本包中的同名类会冲突,可以导入其他包中的同名类
8.JavaDoc生成文档
javadoc命令是用来生成自己的API文档
生成方式:/**回车
参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throw 异常抛出情况
1.通过命令行 javadoc 参数 Java文件
在该项目下shift+右键 打开PowerShell
javadoc -encoding UTF-8 -charset UTF-8 Doc.java