注:该笔记适合有C++基础或者有复习需求的小伙伴哦.预习的话建议直接看视频.俺舅是链接(doge),邀请码bz1010
太过简单的知识点都被作者扔到回收站了,所以这些知识点都是精华呦(doge)~
一.快捷键与常见问题
Ctrl + F11 (运行当前程序)
- 其它运行方法
- 右键 → Run As → Java Application
- 小虫子图像右边的图标
- 运行错误
- 运行错误会弹出这样的窗口
- 点×就行了
Alt + / (代码补全)
- 主函数
- 在类中输入main + 代码补全,敲回车
- 输出
- 在主函数中输入syso + 代码补全, 敲回车 //用一次就难以割舍了
- 任何存在的方法,关键字,声明过的变量
Ctrl + / (普通注释)
- 其它注释
- 多行注释 /* → 回车
- 文档注释 /** → 回车 ( 比上面的好用,推荐)
Ctrl + Shift + O (自动导包及清除)
- import …
- 有的时候写完一个关键字就会报错
- 鼠标移到关键字上,有import…的字样
- 这时候用鼠标点击import即可,当然快捷键更快
- 还可以清除没用的包
Ctrl + D (删除整行或多行)
- 在代码补全的方法中
- 一般有没用的注释,光标点击到该行 + 快捷键
- 选中多行,同理
其它
- 一般报错情况
- 都可以将鼠标移到报错的地方
- 然后点击系统给出的解决办法
- 如下图,是一个异常处理
二.数据类型和运算符
1.命名规范:
项目名
驼峰原则,如gameSpace
包名
全部小写(包类似文件夹,要见名知意)
一般是公司域名:com.xxx.game <-- www.xxx.com
标识符
- 必须以美元符号$、字母、下划线开头
- 类名: 每个单词的首字母大写,如GoodMan
- 方法和变量: 驼峰原则,如eatFood()
- 常量:大写加下划线:MAX_VALUE
注意: Java不是采用ASCll字符集,而是采用Unicode字符集,因此字母的含义还 包括汉字,但不建议大家用汉字定义标识符
2.变量的本质:
int i, j;(不建议这样声明)
3.常量:
final double PI = 3.14; //常量要记得大写哦,C和C++是用const,不要弄混了哦~ final String ST_ = "Hello";
4.整型与浮点型:
int a = 2147483647 System.out.println(a+1); //结果为-2147483648,作者大大也闹不明白是这个数,懂的小伙伴可以联系作者哦~
5.字符型和boolean型
char c = '\u0061'; //这是字母a char c1 = '\n'; //这是转义字符
注意: 请不要这样写.if(flag==true),很容易出错写为if(flage=true). 建议写成if(flag)或if(!flag).Less is More!
6.运算符
byte a = 127; //这是byte类型的最大数字 short b = 32767; //这是short类型的最大数字 System.out.println(a + b); //结果为整型:32894
- 浮点运算
- 两个操作数有一个是double,结果就为double
- 都为float,才为float
取模运算
- 其操作数可以为浮点数,一般为整数;结果是"余数",余数符号和左边操作数相同
- 如: 7%3=1 -7%3=-1 7%-3=1
注意: ==、!=是所有(引用和基本)数据类型都可以使用 >、>=、<、<= 只针对数值类型(byte/short/int/long.float/double以及char
>boolean a = 1>2 && 2>1 //因为1>2为false,所以结果为false,不会判断2>1 boolean a = 1>2 & 2>1 //无论第一个是否为false,都要判断下一个 总结:短路运算更快,一般都会采用短路
位运算符和字符串链接符
- 对位运算符有兴趣建的,议先看视频俺爷是链接(doge),邀请码bz1010
- 记住下面的就行了
int a = 12*2;相当于int a = 12<<1;左移移位==乘二 int b = 12/2/2;相当于int b = 12>>2;右移两位==除4 注意: 1.&和|既是逻辑运算符,也是委员算符,怎么区分呢 当两侧的操作数都是boolean类型时,就是逻辑运算符,两侧都是整型时, 为位运算符 2.Java中的"^"是"位的异或",不是乘方!
输入: Scanner sc = new Scanner(System.in); //只需声明一次,很好用 int a = sc.nextInt(); //接收一个整型变量 double b = sc.nextDouble(); //接收一个浮点型变量 String c = sc.next(); //接收一个字符串 System.out.println(a); //输出完自动换行 System.out.print(b); //少ln输出完不会自动换行
三.控制语句
1.循环和条件语句
如: int a = 10; if(a){System.out.println(a);} //这是错误的,非0的a与true不等价,不懂的问作者 boolean flag = true; if(flag){System.out.println(a);} //这是正确的 多选择结构的用法: int age = (int)(100 * Math.random()); System.out.println("年龄是"+age+"属于:"); if(age<15){ System.out.println("儿童,喜欢玩"); }else if(age<25){ System.out.println("年轻人,要发展兴趣"); }else if(age<45){ System.out.println("中年,要工作"); }else if(age<65){ System.out.println("中老年,要补钙"); }else if(age<85){ System.out.println("老年,要多运动"); }else{ System.out.println("老寿星,古来稀"); } }
带标签的break和continue
- 建议直接看视频爷也是链接(doge),邀请码bz1010,用的少,但是可以提高运行效率
2.方法
注意:只有形参名称或返回值不同,不构成方法的重载 int fun(string str){}与void fun(string s){} //有两处不同,请 找出来,嘿嘿
递归包括两个部分 递归头:递归的结束条件,没有它将陷入死循环 递归体:递归执行的条件
//只有非代码模式,才能对字体的格式进行修改哦
static int count = 0;
static void a(){
count++;
if(count<10){
a();
}//这是方法体,用来执行递归else{
return; //可以没有返回值,只做终止方法的语句,不与void冲突
} //这是方法头,用来结束递归
}