java基础汇总

一、HelloWorld这个模板
1.模板
public class HelloWorld{
public static void main(String[] args){
System.out.println("这里是你要说的话");
System.out.println("第二行话");
}
}
2.注意事项
1)适当缩进tab
2)所有符号是英文状态下的
{}[]()""'';
3)成对编程
{}()[]""''
public class HelloWorld{
public static void main(String[] args){


}
}
4)适当注释--给人用的,程序编译忽略
//当行注释
/*
普通的多行注释
*/
/**

文档多行注释
*/
5)类名的命名规则
驼峰原则
每个单词的首字母大写,若是一个字母那么大写。
A Ab AB HelloWorld
6)class后的名称要与源文件的名称一致,大小写也必须一致

7)java是大小写敏感的语言!!!!!
但是windows是不区分大小写的!!!!!

8)main(String[] args){}这是程序的入口点
main()不是程序的入口点
提示:找不到main方法,找不到主程序,可能的原因:
1)没有main方法
2)写了main方法,可是参数不对

9)一个源文件中可以有多个class,但是至多一个public修饰的class,
如果有public修饰的class那么源文件的名称与public修饰的class的名称一致,
如果没有public修饰的class,那么源文件名称随意。
一个源文件中有多少个class,那么编译以后(javac以后)就会产生多少个.class
(不推荐一个源文件中写多个class)

10)见名知意


二、一些常见问题
1.java或javac不是内部命令
原因:环境变量没有配置正确或配置了环境变量但是dos没有重新启动,配置环境变量新dos窗口有效

三、常识
1.集成开发环境(IDE:Integrated?Development?Environment)
JBuilder (http://www.borland.com)(基本淘汰)
Eclipse (http://www.eclipse.org)****(重点)
NetBeans(http://java.sun.com)
四、标识符
1.作用
起名
2.组成
字母 、数字 _ $
3.命名规则
1)不能以数字开头
2)不建议以$命名类名
3)不能使用java关键字 110 110 120 征用,关键字都是小写
4.命名规范
1)见名知意
2)命名的驼峰标识,驼峰原则
a.类名:每个单词首字母大写HelloWorld A MaTianHang Add
b.变量:首字母小写,然后从第二个单词开始每个单词首字母大写
a aApple maxValue
c.方法名:同上
d.常量:所有字母大写,以_分割
MAX_VALUE A
5.字符集
big5:繁体字
gbk:
Unicode:
五、数据类型
1.分类:
1)基本数据类型
理解:一个盒子
2)引用数据类型
理解:两个盒子,第一个盒子存放第二个盒子的地址
2.基本数据类型
四类八种
1)整型
byte字节
内存空间 取值范围
byte: 1字节 -128~127
short: 2 +-3万
int : 4 +-21亿
long: 8 非常大
2)浮点型(小数)
float(单精度):4字节 很大
double(双精度):8字节(范围大,不精确) 灰常大
3)字符型
char:2字节 ''放一个字符 'a' '中' “a”不是,是字符串
4)布尔型
boolean:1/8字节 相当于1位 true|false
3.引用类型

接口
数组
六、变量
1.理解:相当于盒子,一个容器,装的东西可变
2.分类
局部变量
成员变量(实例变量)
静态成员变量
成员变量与静态变量统称为属性
3.声明变量--创造盒子(不声明不能使用)
类型 变量名称;
or(或者)
类型 变量名称= 初始值;

int a;
or
int a = 10;

double d;
or
double d = 0.0;

char c;
or
char c = 'a';

boolean b ;
or
boolean b = true;
浮点型的特例:
float的变量的声明
float f = 1.2f;

4.使用变量
1)赋值=赋值符号
变量名= 变量值;

2)查看
System.out.println(变量名);
int a = 13;
int b = a;

5.注意事项:
1)变量没有声明不能使用
2)局部变量没有初始化不能使用(除了赋值)
错误事例: int a;//a没有初始化
int b = a;


6.局部变量与属性的区别
1)位置:
局部变量:方法内或是{}
属性:
成员:类中方法外
static:类中方法外
2)作用域
局部变量:方法结束或是对应的}
属性:
成员:属于对象,与对象一致
static:从属于类,与类一致

3)声明周期
局部变量:从声明开始,到}
属性:
成员:属于对象,与对象一致
static:从属于类,与类一致

4)默认值
局部变量:没有默认值
属性:有默认值
整型:0
byte short int long
浮点:0.0
float double

char:u0000
boolean:false
7.字面值的默认类型
整型默认类型 int
浮点型默认类型 double
七、常量--不能改变的量,一旦赋值不能改变的遍
1.final关键字
2.只能初始化一次,不能改变,即使赋值的值与之前值相同也不可以
3.声明一个常量
final 类型 常量名;
常量名= 常量值;

final 类型 常量名 = 常量值;
4.常量的命名规则:
驼峰规则:
所有字母大写,单词之间以_分割
eg:
final int MAX_VALUE;
OR
final int MIN_VALUE = 10;
八、运算符
1)算术运算符: +,-,*,/,%,++,--
/:整数相除
注意除数不能为0
/:浮点数相除
除数为0结果是infinity--无穷大∞

%:最终结果的符号与被除数
mod1%mod2--结果 的符号与mod1一致
3%2==1
-3%2==-1
-3%-2==-1

++i:先自加再使用
int i = 3;
int j = ++i;---j ==4,i==4


i++:先使用再自加
int i = 3;
int j = i++;----j == 3 ,i==4

i--;
int i = 5;
int j = i--;---j==5,i==4
相当于int j = i;i=i-1;


--i;
int i = 5;
int j = --i;---j==4 ,i==4
相当于:i=i-1;int j = i;



2)赋值运算符 =
把=右侧的值赋值给等号多边的变量或是表达式

3)关系运算符: >,<,>=,<=,==,!= instanceof
布尔类型
int a = 3;
int b = 2;
if(a>b){

}
==:等于

!=不等于

if(a!=b){
System.out.println("如果a!=b就会被执行,反之亦然");
}


4)逻辑运算符: &&,||,! ----短路与,短路或(一旦可以确定结果,就停止运算,进入下一步运算)
if(今天是星期一并且下雨的话){
syso(“可以早放学”);
}
int a = 3;
int b = 4;
int c = 5;
if((a<b)&&(a<c)){
System.out.println("如果a是最小值,我就会被打印了…………");
}
&&:and并且,与 称作and符-----&&两侧都是true才是true
||:or或者,或---||两侧有一个满足条件就是true
!:非,不是 !=不等于

f&&f--f
f&&t--f
t&&f--f
t&&t--t
&&一旦有一个为false结果就为false


f||f--f
f||t--t
t||f--t
t||t--t
||一旦有一个为true结果就为true



5)条件运算符 ?: 唯一三目运算符
布尔表达式|条件表达式?值1:值2
表达式的值为true时,取值1,反之取值2
int a = 3;
int b = 4;
boolean c = a>b?false:true;
int d = a>b?10:200;
String str = a>b?"true":"false";
char ch = a>b?'a':'中';
char ch2 = a>b?97:65;




6)扩展赋值运算符:+=,-=,*=,/= %=(求模 mod)
a+=2;----a= a+2;
a-=2;-----a=a-2;

推荐使用,因为底层存在优化,效率高

九、String的+
+:两侧都是数字,就是加法
两侧至少有一个为字符串,“”,+代表拼接
System.out.println("a+b="+(a+b));

十、类型转换
1.自动类型转换
小--大
int a = 10;
double d = a;
long lon = a;
lon = 10;
lon = 22亿L;---建议添加L,而不是l,防止混淆


2.强制类型转换
大--小
double d = 1.2;
int a = (int)d;
十一、特殊
1.int,short,byte之间的运算都相当于int与int之间的运算

十二、控制语句
1.顺序
从上往下执行

2.选择
单选择
if(布尔表达式){

}
双选择
if(布尔表达式){
//如果if的条件成立,则执行if里的语句,否则执行else里的语句
}else{

}
多选择
if(){
}else if(){
}else if(){
}else{
}

题目:考试等级,输入分数,查询分数对应的等级



switch(int|char|jdk1.7以后可以放字符串){
case 值1:
break;
………………
default:
}
1)下穿--当一个值满足条件,则从这个开始一直执行,到结束或是遇到break为止
2)下穿一定有害:可以利用


3.循环
重复执行
while
打印十行*******
syso(“*******”)
syso(“*******”)
syso(“*******”)
syso(“*******”)
syso(“*******”)
syso(“*******”)
int i = 0;
if(i<10){
syso("********");
}
i++;
if(i<10){
syso("********");
} i++;
if(i<10){
syso("********");
} i++;
if(i<10){
syso("********");
} i++;
if(i<10){
syso("********");
} i++;
if(i<10){
syso("********");
}
i++;
if(i<10){
syso("********");
}
使用循环:
int i = 0;//初始表达式
while(i<10){//条件表达式
syso("********");//循环体
i++;//迭代因子
}

if与循环的区别:if至多执行一次,循环可能执行多次

do{//仅作了解……………………
//先执行,后判断
}while();//分号不能少


int i = 0;
do{
syso("********");//循环体
i++;//迭代因子
}while(i<10);

while与dowhile的区别:dowhile至少执行一次,while可能一次也不执行


for(初始表达式;条件表达式;迭代因子){
//循环体
}
for(int i = 0;i<10;i++){//for;;不能少
syso(“********”);
}

for与while应用场合:
for通常用于可以确定循环次数
while一般用于不确定循环次数


关键字:
break:跳出一层循环
continue:跳出本次循环,进入下一次循环

题目:猜数,直到猜对为止,随机数一旦产生不发生改变,不停的输入,比较,直到猜对为止


十三、随机数
1.Math.random();
2.随机整数
int min = 12;
int max = 100;
int rnd = (int)(Math.random()*(max-min+1)+min);


十四、与控制台交互
1.Scanner
2.使用的步骤
a.定位
import java.util.Scanner;
b.买
Scanner tool = new Scanner(System.in);
c.用
int age = tool.nextInt();
double money = tool.nextDouble();
String str = tool.nextLine();--防止见好就收(前边有nextInt或是nextDouble残留了回车符号)













原文地址:https://www.cnblogs.com/taozizainali/p/10913061.html