Java笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java笔记相关的知识,希望对你有一定的参考价值。
Windows快捷键
win + r 运行
win + l 锁定当前账号
win + d 显示桌面
alt + tab 多任务切换
F2 重命名
MyEclipse常用快捷键
F11 运行
ctrl + M 最大化当前视窗
ctrl + Z 撤销
ctrl + Y 还原撤销
ctrl + O 打开类的大纲视图,相当于Outline
ctrl + shift + H 快速搜索一个类(API+工作空间)
ctrl + shift + R 快速搜索一个类(当前项目中)
ctrl + D 删除当前行
ctrl + / 添加/去除单行注释
ctrl + shift + / 添加多行注释
ctrl + shift + \ 去除多行注释
ctrl + shift + O 导入所有用到的类
ctrl + s 保存
ctrl + shift + F 格式化代码
ctrl + F 查找/替换
alt + shift + R 统一重命名选中的变量名(或者右击Refactor -> Rename)
注意:
1.只有编译通过的代码才可以格式化
2.不光是类可以格式化,包也可以格式化,甚至项目都可以格式化
3.设置只格式化代码,而不格式化文档注释
Window -> Preferences -> Java -> Code Style -> Formatter
-> 点击edit -> 点击Comments标签 -> 去掉所有的勾 -> 重命名配置保存
alt + 左右键 来回切换打开的类
shift + 上下左右键 用来选定代码块
ctrl + alt + 上下键 复制光标所在行
重点:
Alt + / 智能编辑助手(补齐代码以及相应的提示,使用频率极高!)
main方法 main
输出语句 syso
以后我们每次写完一段代码,都要执行三部曲:
1.ctrl + s
2.ctrl + shift + F
3.ctrl + s
这样,既能保证代码的正确性,又能保证代码的格式规范
--------------------------------------------------------
Java中产生随机数的两种方式:
1.Math.random();
返回类型是double,范围是[0,1)
如:产生1-100之间的随机数
int result = (int)(Math.random()*100 + 1);
java.lang.Math,数学类,它提供了很多数学的计算方法(静态方法),
如求绝对值,最值,随机数,平方根,幂次运算...
2.通过java.util.Random类
//导包
import java.util.Random;
//创建对象
Random rd = new Random();
//调用方法
rd.nextInt();//产生int范围内的随机数
如:产生1-100之间的随机数
int result = rd.nextInt(100);
注意:绝对的随机是不存在的,Java产生的随机数都是伪随机数!
-----------------------------------------------------------------
Java的格式化输出
标准语法:
%[argument_index$][flags][width][.precision]conversion
注:
width 表示变量所占的宽度
flags 表示标记位,-表示左对齐,默认是右对齐
.precision 表示浮点数的精度,宽度由width决定
System.out.printf(String format,Object...args);
System.out.println(name + "的生日是" + birthday + "号.");
System.out.printf("%s的生日是%s号.\n",name,birthday);
\n 表示换行
%s 代表字符串
%d 代表整数
%f 代表浮点数
%b 代表布尔值
注意点:
1.变量的排序问题
2.变量的类型决定用哪个占位符
--------------------------------------------------------
方法的定义
//编写一个类的步骤
package xxx.xxx.xxx;
import xxx;
public class Xxx {
//方法
}
语法:
修饰符 返回类型 方法名([参数列表]) [可抛出的异常]{
//方法体;
}
//目前我们的方法格式:
public [static] 返回类型 方法名([参数列表]) {}
普通修饰符:static,final,abstract...
访问控制修饰符:
public 表示公开的,公有的,这个方法可以被所有类使用
protected
[default] 默认,什么都不用写
private 私有的
返回类型:
1)void 表示这个方法的返回类型是void,但是没有返回值
2)可以是基本类型(8种),可以是对象类型
如何选择方法的返回类型?
答:如果调用该方法是做为输出或者处理某事物的,则定义成void;
如果调用该方法是为了得到一个具体的值或者对象,而不关心值或者
对象的后续处理,则定义成相应的类型.
注:
a.返回值和返回类型必须一致(除自动类型转换外)
b.在方法体中,通过return来返回值
如果一个方法的返回类型不是void,那么方法体中必然有return语句
如果一个方法有return语句,那么这个方法不一定是void的
方法名:
标示符 -- 变量,方法名,类名
(1)标示符的命名规则(必须遵守):
<1>必须由字母,数字,下划线,$符号所组成.(首字母不能是数字)
<2>标示符对大小写敏感
<3>标示符不能是java的关键字 + 3个字面量(null,true,false)
+ 2个保留字(goto,const)
(特殊情况:String不是关键字)
<4>标示符的长度没有限制
<5>标示符支持中文汉字,但是不推荐,可能会出现乱码问题
(2)标示符的命名规范(行业规范,尽量遵守)
<1>类名,接口名,每个单词的首字母都大写
<2>方法名和变量名,首字母小写,以后每个单词首字母大写
(特殊情况:构造方法除外)
<3>包名全部用小写字母,中间用.隔开
<4>常量全部用大写字母,并且中间用_隔开
final int ROW_EACH_PAGE = 10;
<5>提倡见名知意
参数列表:
提供方法完成所需要的"原料"
public class Calc {
//调用者
public static void main(String[] args){
Calc cc = new Calc();
int result = cc.plus2(3,4);
System.out.println(result);
}
//普通方法
public void plus(int i,int j){
System.out.println(i + j);
}
public int plus2(int i,int j){
return i + j;
}
}
形参:在方法中定义的参数就是形参,没有真正的值
实参:方法调用者调用方法时,所传递的参数,有实际的值
局部变量:
在方法体中定义的变量,它的生命周期只存在于它所在的代码块中
形参也是局部变量
----------------------------------------------------------
条件判断:
if条件判断
语法:
//条件过滤
if(条件){
//代码;
}
//分支判断
if(条件){
//代码1;
}else{
//代码2;
}
//带分支的
if(条件1){
//代码1;
}else if(条件2){
//代码2;
}else if(条件3){
//代码3;
}
.......
}else{
//代码N;
}
注意:
1.条件最好要互斥
2.else if语句可以是任意多个
3.条件必须是boolean类型的,它可以是一个变量,也可以是一个表达式
4.if else语句可以嵌套使用
5.当执行语句只有一句的时候,if的大括号可以省略
------------------------------------------------------------------
switch语句
语法:
switch(变量){
case 值1:
//statement 1;
[break;]
case 值2:
//statement 2;
[break;]
.....
[default:]
//statement N;
}
注:
a.括号里面的是变量,它有且仅有6种类型(String在JDK7.0时加入)
byte,short,int,char,String,enum(枚举)
b.当case语句的值与switch变量相同时,则进入相应的case
语句块中,并执行代码,遇到break,退出switch,否则,一直向
下运行,直到碰到break或者运行到代码结束.
c.当case语句的值与switch变量不等时,则执行default语句块,
前提是default语句块存在.
d.default代码块可以省略,并且位置可以任意摆放
条件判断总结:
if else和switch case在绝大多数的情况下是可以通用的,两者
要根据业务来进行选择,但是if else的使用更加广泛.
---------------------------------------------------------
循环语句
1.for循环
语法:
for(表达式一;表达式二;表达式三){
//循环体;
}
说明:
表达式一,初始化语句,只执行一次
表达式二,条件判断语句,for循环终止的条件,至少执行一次
表达式三,变量因子,for循环每一轮和前一轮的变化,可能执行,可能不执行
三部分都可以由多个语句组成,也可以省略
如:循环10次
for(int i = 0;i < 10;i++){}
如果三个表达式都省略,则成为死循环
for(;;){} 完全等价于 while(true){}
再如:
int i,j;
for(i=0,j=0;i<10&&j<5;i+=2,j++){}
for循环可以嵌套使用
外层for循环执行一次,内层for循环可能执行全部,也可能和外层有关联.
注意:for循环的嵌套是可以无限的,但是一般不超过3层,因为极其
影响效率.
-----------------------------------------------------------------
2.while循环
语法
while(条件){
//循环体;
}
注:
a.条件必须是boolean类型的变量,表达式或者复合语句
b.如果条件为永真的情况下,那么要在循环中加入break语句来退出循环
如:
int i = 0;
while(i < 10){
//循环体;
i++;
}
如果不能确定循环次数,可以写成死循环
while(true){
//循环体
...
if(条件){
break;//退出循环
}
}
注:for循环和while循环都是后置循环,也就是说先进行条件判断
再执行循环体,然后变量因子发生变化.
---------------------------------------------------------
3.do while循环
语法:
do{
//循环体;
}while(条件);
注:
a.do while是一种前置循环,先做循环,再做条件判断
b.条件必须是boolean类型的
c.如果条件为永真的情况下,那么要在循环中加入break语句来退出循环
如:
do{
showMenu();
int choice = sc.nextInt();
...
}while(choice != 4);
//从键盘获取输入,只要不为4,do while就不会退出
--------------------------------------------------------
break语句和continue语句
break语句表示退出当前循环或者switch语句,如果循环是多重嵌套的话,
那么break只能跳出自己所在的那一层循环.
使用地方:循环或者switch语句
遇到break,直接打断当前循环,如果循环是最外层的,则程序停止
continue表示退出本轮循环,继续执行下一次循环,它只能用在
循环中,continue后面的语句不会执行,直到下一轮循环开始.
使用地方:循环
遇到continue,当前循环的此轮跳过,但是会继续执行下一轮
以上是关于Java笔记的主要内容,如果未能解决你的问题,请参考以下文章