命名规范
包名称,所有单词小写,不同层级之间用使用(.)来分割。包名其实就是文件夹。
类名称,所有的单词首字母大写。
方法名称,第一个单词的所有字母小写,以后每个单词的首字母大写。
变量名称,第一个单词的所有字母小写,以后每个单词的首字母大写。
标识符,可以使用0-9,a-z,A-Z,_,$,还可以使用中文(但是不推荐)进行组合,但是要求不能以数字开头,不能是java关键字或保留字(可以包含关键字)
几个基本概念
关键字,被java赋予了特殊意义的单词,所有的单词都是小写。(java中严格区分大小写)
保留字,当前版本中还不是java关键字,在以后的版本更新中可能会成为关键字的一些单词。
标识符,java中凡是可以自己命名的地方(类名称,包名称,方法名称,变量名称)都称为标识符。
注释的分类
-
文档注释
eclipse快捷键:Shift + Alt + J
作用:主要用来对类的作用做一个简单的描述,写上作者,版本,编辑日期等信息,格式如下:
/**
*注释内容
*/
例如:
/**
@author student
@version 1.0
@date 2018-08-13
*/
-
多行注释
eclipse快捷键:Ctrl + Shift + /
作用:解释说明代码
格式如下:
/*
注释内容
*/
注意:注释不允许嵌套
-
单行注释
eclipse快捷键:Ctrl + /
作用:对所在行的代码进行解释说明
格式://注释内容
java 数据类型
一、基本数据类型 (4类8种)
-
整数型:
byte 1 -128~127 (-2^7 2^7-1) short 2 -32768~32767 (-2^15 2^15-1) int 4 .... (-2^31 2^31-1) long 8 .... (-2^63 2^63-1) L或者l 注意:java中整数默认的数据类型是int;
-
浮点型:
float 4 F或者f double 8 注意:java中小数默认的数据类型是double;
-
字符型:
char 1|2 ('')
-
布尔类型:
boolean true false;
数据类型的优先级boolean...排除在外true false ...
char 特殊 。可以是一个字节也可以是两个字节
byte < short < int < long < float < double
特殊的地方,byte short char 他们三者之间做运算的时候,都会统一的转化成int类型 然后再参与运算。最终的运算结果就是int...
二、引用数据类型。
在java中只要不是基本数据类型,就是引用数据类型。
class 、String 、[]、interface ...
强制类型转换
byte,short,char int long float double ...
小的数据类型,转换成大的数据类型,隐式转换,自动完成的 。大的数据类型,转换成小的数据类型 ,强制转换,需要你手动的去指定。
格式如下:
目标类型 变量名称 = (目标类型)原始变量 ;
long a = 10;
int b = (int) a;
强制转换可能会带来问题:精度的降低或者数据的丢失 。
==号和equals()方法的区别
对于基本数据类型 ==号 比较的是左右两边的值 是否相等 。
对于引用数据类型 ==号 比较的是对象的内存地址。(堆中的位置。)
&equals方法比较的是字符串的值是否相同
例如:
String str1 = new String("hello");
String str2 = new String("hello");
boolean flag1 = str1==str2; //flag1 的值为false
boolean flag2 = str1.equals(str2); //flag2 的值为true
选择流程控制语句
switch-case
switch(变量){
case 常量1:
要执行的代码;
break;
}
switch case 中 , 能够使用那些数据类型 ?
byte , short , char, int ,String (JDK 1.7 才开始支持String ) ,
enum 枚举(JDK 1.5 之后才支持)
if-else
if else 的三种用法
当需要的结果只有一种情况
单个的if(满足条件){执行大括号中的内容。}
当不同的判断结果需要执行不同的代码时
if(){
满足条件执行这个大括号中的代码。
}else{
如果if()中的表达式结果为false ,执行这里的代码。
}
对于多条件的判断
if(条件1){
}else if(条件2){
}else if(条件3){
}else if(条件n){
}else{
}
什么时候用if 什么时候switch case 呢 。
if 主要用来做区间的判断 。
switch case 主要用来对指定的常量值做判断。
break,continue 有什么区别 ?
break 表示跳出 可以用在switch case结构中,也可以用在循环结构中(for , while , do while).break 表示跳出当前循环 (如果多层循环嵌套,break,只会跳出一层循环。)。
continue 只能用在循环结果中,表示结束本次循环,回到循环头部继续下次循环 。
想要直接从N层循环中全部跳出,可以使用一个关键字 ,return ;
循环结构
- for循环
int sum = 0; //int i=0;是初始化循环控制变量i
for(int i=0;i<100;i++){ //i<100;是循环条件。 i++;是更新循环控制变量
sum+=i; //sum+=i;是循环体,即需要重复执行的那一部分代码
}
-
增强型for循环(java5才引入)
增强型for循环主要用于遍历数组
int [] arrays = {1,2,3,4,5,6,7,8,9}
for (int i : arrays){
System.out.print(i);
}
- 标号语句
只用在循环上面 ,必须写到循环头部,相当于一个标记 ,指定跳出的位置 。
search:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 100; j++) {
if(j==3){
break search;
}
System.out.println(i+"====="+j);
}
}
-
while循环
int i = 0; //wihle循环初始化部分在外部 int sum = 0; while(i<=100){ sum+=i; i++; //循环体跟迭代部分在一起。 }
do-while循环
int i = 1;
int sum = 0;
do {
sum+=i;//sum=1
i++;//i = 2;
} while (i<2);
注意: 对于do while 循环来讲,无论条件是否满足 ,do中的代码至少会执行1次
类
类是用来描述现实世界的事物的属性和行为的。
类中包括属性和方法,其中属性描述的是事物所具有的共同特征;方法用来描述事物的行为。
属性就是类中的变量(成员变量),
类中被static修饰的变量为类变量,类变量随着类的加载而加载,可以通过类名.的方式直接调用。当其中任意一个对象改变其属性值时,其他对象也会受影响。
类中未被static修饰的变量为实例(对象)变量,必须通过创建对象的方式来调用。每个对象拥有一套各自不同的副本,互不影响。
匿名对象 匿名对象主要用来当做参数传递;要多次使用一个对象的时候,不推荐使用匿名对象,因为会在堆空间中创建多个不同的对象。