初识JAVA
package base;
public class Helloworld {
public static void main(String[] args) {
System.out.println("hello,world");
}
}
IDEA快捷键
/**
* Ctrl+Alt+O 优化导入的类和包
* Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate)
* fori/sout/psvm + Tab
* Ctrl+Alt+T 生成try catch 或者 Alt+enter
* CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
* Ctrl + O 重写方法
* Ctrl + I 实现方法
* Ctr+shift+U 大小写转化
* ALT+回车 导入包,自动修正
* ALT+/ 代码提示
* CTRL+J 自动代码
* Ctrl+Shift+J,整合两行为一行
* CTRL+空格 代码提示
* CTRL+SHIFT+SPACE 自动补全代码
* CTRL+ALT+L 格式化代码
* CTRL+ALT+I 自动缩进
* CTRL+ALT+O 优化导入的类和包
* ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
* CTRL+E 最近更改的代码
* CTRL+ALT+SPACE 类名或接口名提示
* CTRL+P 方法参数提示
* CTRL+Q,可以看到当前方法的声明
* Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等)
* Ctrl+Alt+V 提取变量
*
*
* 查询快捷键
*
* Ctrl+Shift+Backspace可以跳转到上次编辑的地
* CTRL+ALT+ left/right 前后导航编辑过的地方
* ALT+7 靠左窗口显示当前文件的结构
* Ctrl+F12 浮动显示当前文件的结构
* ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
* CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
* Ctrl+Shift+Alt+N 查找类中的方法或变量
* 双击SHIFT 在项目的所有目录查找文件
* Ctrl+N 查找类
* Ctrl+Shift+N 查找文件
* CTRL+G 定位行
* CTRL+F 在当前窗口查找文本
* CTRL+SHIFT+F 在指定窗口查找文本
* CTRL+R 在 当前窗口替换文本
* CTRL+SHIFT+R 在指定窗口替换文本
* ALT+SHIFT+C 查找修改的文件
* CTRL+E 最近打开的文件
* F3 向下查找关键字出现位置
* SHIFT+F3 向上一个关键字出现位置
* 选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本
* F4 查找变量来源
* CTRL+SHIFT+O 弹出显示查找内容
* Ctrl+W 选中代码,连续按会有其他效果
* F2 或Shift+F2 高亮错误或警告快速定位
* Ctrl+Up/Down 光标跳转到第一行或最后一行下
* Ctrl+B 快速打开光标处的类或方法
* CTRL+ALT+B 找所有的子类
* CTRL+SHIFT+B 找变量的类
* Ctrl+Shift+上下键 上下移动代码
* Ctrl+Alt+ left/right 返回至上次浏览的位置
* Ctrl+X 删除行
* Ctrl+D 复制行
* Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*...*/
标识符命名规范
package base;
public class Demo01 {
public static void main(String[] args) {
String Ahello = "王者荣耀";
String hello = "王者荣耀";
String $hello = "王者荣耀";
String _hello = "王者荣耀";
String 王者荣耀 = "倔强青铜";
System.out.println(王者荣耀);
System.out.println(Ahello);
System.out.println(hello);
// 标识符大小写敏感 严格区分大小写 强类型语言
}
}
基本数据类型
package base;
public class Demo02 {
public static void main(String[] args) {
// java是一种强类型语言
// 八大基本数据类型
// 整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30l; //Long类型要在数字后面加L
// 小数,浮点数
float num5 = 50.1F;
double num6 = 3.141592653589793238462643;
// 字符
char name = 'A';
// 字符串 String不是关键字 ,是一个类
// String name = "王者荣耀";
// 布尔值
boolean flag = true;
boolean flag1 = false;
}
}
基本数据类型扩展
package base;
public class Demo03 {
public static void main(String[] args) {
// 整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制的
int i3 = 0x10; //十六进制的 0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("====================================================");
// ===========================================
// 浮点数扩展 ? 银行业务怎么表示? 钱
// BigDecimal 数学工具类
// ===========================================
// float 有限 离散 舍入误差 大约 接近但不等于
// double
// 最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
float d1 = 2313131313132131f;
float d2 = d1 + 1;
System.out.println(d1==d2);
System.out.println("====================================================");
// ==========================================
// 字符扩展
// ==========================================
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字节 65536 Excel 2^16=65536
char c3 = '\u0061';
System.out.println(c3);
// 转义字符
// \t制表符 \n换行
System.out.println("hello\tworld");
System.out.println("====================================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
System.out.println("====================================================");
// 思考为什么一个结果为true 另一个结果为false?
// 对象 从内存分析
// 布尔值扩展
boolean flag = true;
if (flag==true){
} //新手
if(flag){
} //老手
// Less is More!代码要精简
}
}
Java类型转换
package base;
public class Demo04 {
public static void main(String[] args) {
// 运算中,不同类型的数据转化为同一类型,然后进行运算
// 由低到高 byte short char --> int --> float --> double
int i = 128;
byte b = (byte)i;
// 强制转换(类型)变量名 高到低 内存溢出
// 自动转换 低到高
/*
* 注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.把高容量转换到低容量,强制转换
* 4.转换的时候可能存在内存溢出,或精度问题
* */
System.out.println(i);
System.out.println(b);
System.out.println("=======================");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("=======================");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
}
}
package base;
public class Demo05 {
public static void main(String[] args) {
// 操作比较大的时候注意溢出
// JDK7新特性 数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years; //-1474836480,计算的时候溢出了
long total2 = money*years; //默认是int 转换之前已经出现问题了
long total3 = money*((long)years); //先把一个数转换为long
System.out.println(total3);
}
}
package base;
public class Demo06 {
public static void main(String[] args) {
// 注:每个变量都有类型,类型可以是基本类型,也可以是引用类型
// 变量名必须是合法的标识符
// 变量声明是一条完整的语句,因此每一个声明都必须以分号结尾
// int a,b,c;
int a = 1,b = 2, c = 3; //程序可读性
String name = "王者荣耀";
char x = 'X';
double pi = 3.14;
}
}
package base;
public class Demo08 {
// 修饰符,不存在先后顺序
// 常量的定义
final static double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}