idea创建新项目
点击创建新项目
![](https://i-blog.csdnimg.cn/blog_migrate/21578aa85a6e319ce09d15849f2e22ca.png)
3.
![](https://i-blog.csdnimg.cn/blog_migrate/daaa4ff90e583c0910306d0a79e28e09.png)
选择是否按模板创建,会直接给一些初始的参数和目录
快捷键 psvm public static void main(String[] args)
sout System.out.println
注释
单行注释://
多行注释:/* */
文档注释:/**+回车
在线java api帮助文档:https://docs.oracle.com/javase/8/docs/api/
javadoc命令---javadoc -encoding UTF-8 -charset UTF-8 类名
![](https://i-blog.csdnimg.cn/blog_migrate/56eca4e871c652e6a79ec0ab1a590f87.png)
通过命令行生成javaDoc文档
步骤:打开类所在的文件夹,输入cmd打开命令提示符---输入javadoc命令,运行---之后在这个文件夹内找到index.html打开
通过IDEA生成JavaDoc文档
1.打开tools工具栏-----打开选项Generate JavaDoc(生成javaDoc 文件)
2.配置参数
![](https://i-blog.csdnimg.cn/blog_migrate/765dfa39bf6ccb28589fa8117731eb27.png)
1.选择生成javadoc文档的范围
2.输出目录自己专门设置一个文件夹,方便后期查阅
3.区域设置,决定文档的语言,简体中文---zh_CN 繁体台湾zh_tw
繁体香港zh-hk 英语美国en-us 英语英国en-gb 英语全球en-ww
4.设置参数,为了显示中文不出现乱码
-encoding UTF-8 -charset UTF-8
5.生成doc文档
标识符
java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符
![](https://i-blog.csdnimg.cn/blog_migrate/0508b1acb401a7c5ded219ff32e9c8a1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f5336882466967685f8f028cc4d9e884.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c512ab82a603c9d6ff3332bf30fb35e7.png)
数据类型
![](https://i-blog.csdnimg.cn/blog_migrate/7656dcceab7e0e9e9a0cc4b5b39b0486.png)
八大基本数据类型
public class Main {
public static void main(String[] args) {
// write your code here
//八大基本数据类型
//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;//float类型要在数字后面加个F
double num6 = 3.1415926;
//字符
char name = '国';
//字符串,String不是关键字,是类
//String namea = "马水清";
//布尔值:是 非
boolean flag = true;
//System.out.println("Hello,World!");
}
}
public class Main {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制 十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0~9 A~F 16
//浮点数拓展? 银行业务怎么表示? BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
float d1 = 2333323f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode 表:(97 = a 65 = A) 2字节 0-65536
// Excel 2的16次方=65536
//U0000-UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
//......
//布尔值扩展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/365d2c65f97428493d2959c0d9f382fb.png)
类型转换
![](https://i-blog.csdnimg.cn/blog_migrate/4bf57ecbe2eee8d337d607341584935e.png)
//强制转换 (类型)变量名
//自动转换 若参与运算量的类型(字节)不同,则先转换同一类型(字节),再运算
// 一般转向高的类型
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
public class Main {
public static void main(String[] args) {
//操作比较大的数字时候,注意溢出问题
// jdk新特性,数字之间可以用下划线分割
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(total3);
//long类型后缀尽量用L 不用l
}
}
变量
![](https://i-blog.csdnimg.cn/blog_migrate/c74071a3524426b1d989e9e4e8865f00.png)
变量作用域
![](https://i-blog.csdnimg.cn/blog_migrate/da231740767c104105df5178494e194f.png)
public class Main {
//类变量(静态变量) static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Main();
Main main = new Main();//new Main() +alt+回车,再回车
System.out.println(main.age);
System.out.println(main.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
类变量和实例变量的区别
类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属于对象私有,某一个对象将其值改变,不影响其他对象
![](https://i-blog.csdnimg.cn/blog_migrate/d8a155839851db49a134557c318fd1c4.png)
常量
![](https://i-blog.csdnimg.cn/blog_migrate/20f0187d2cb2fa39c4d9c94f21568743.png)
static final double PI = 3.14//修饰符,不存在先后顺序
//static和final位置互换不影响
变量的命名规范
![](https://i-blog.csdnimg.cn/blog_migrate/5abfcfb9316721b41bee87bb7ef2e020.png)
运算符
![](https://i-blog.csdnimg.cn/blog_migrate/877e8172a1cce012f0a20ba52361e08c.png)
public class Main {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++;//先给b赋值,再自增
int c = ++a;//先自增,再给c赋值
//幂运算 2^3 2*2*2 = 8 我们会使用一些工具类来操作!
double pow = Math.pow(3,2);
}
}
逻辑与运算(&&):两个变量都为真,结果才为true 有假必假
逻辑或运算(||):两个变量都为假,结果为true 有真必真
逻辑非运算(!):如果是真,则变为假;如果是假,则变为真
位运算
![](https://i-blog.csdnimg.cn/blog_migrate/228268b3f5990d9f89e7de9abd07c09b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/23c2822ac60d6224bea0e704d72c63e5.png)
a+=b;---a=a+b
a-=b;---a=a-b
public static void main(String[] args) {
int a = 10;
int b = 20;
//字符串连接符 +
System.out.println(""+a+b);//1020 字符串在前,a+b会拼接
System.out.println(a+b+"");//30 字符串在后,a+b会先相加
//x ? y : z
//如果x==true,则结果为y,否则结果为z
//要养成用()区别优先级的习惯
}