1. 标识符:起名字 -- 见名知意
命名规范:
类,接口
每个单词首字母大写
方法,变量
第一个首字母小写,其他首字母大写
常量
全部大写
包:
全部小写 cn.baidu.waimai
注意: 不能关键字
2. 关键字:java语言赋予特殊含义单词
特点:全部小写字母,editPlus蓝色字
3. 常量:在程序运行过程中,其值不发生改变
分类:
字面值常量
自定义常量
字面值常量
字符串,整数,小数,字符,布尔,空(null)
4. 变量:在程序运行过程中,其值在一定范围之内可以发生改变
本质:在内存中开辟的小空间
格式:
数据类型 变量名 = 初始化值;
int x=10;
数据类型:
基本数据类型: 四类八种
整数类型 byte, short, int(默认), long
浮点类型 float, double(默认)
字符型 boolean
引用数据类型: 类 ,接口 ,数组
5. 变量类型转换
隐式转换(默认)从小到大
byte,short,char-->int-->long->float-->double
默认整数类型:int
默认浮点数类型:double
显示转换(强制)从大到小
格式:
数据类型 变量名 = (目标数据类型) (数据值);
byte b = (byte)130;
6. 数据类型的范围
字节 范围
byte 1 -128~127
char 2 0~65535
short 2
int 4 -2147483648~
long 8
float 4
double 8
boolean 1 true false
7. 运算符6个和运算结果
运算符 结果
算术 + - ++ -- 计算的值
赋值 = += 右边赋值给左边
关系 < > == 布尔类型
逻辑 & | && || 布尔类型
位(了解) & | ^ << >> >>> 计算的值
三元 int c = (x>y)?x:y; 右边赋值给左边
注意:
1.++ --
a++ :先运算,后++
++a :先++,后运算
2.&& ||
短路效果:前面的结果决定了整个的运算结果,那么后面就不运算了
8. 选择语句
if :
三种格式 :
格式一:
if(条件表达式){
语句体;
}
格式二:
if(条件表达式){
语句体;
}else{
语句体;
}
格式三:
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}
...
else{
语句体n+1;
}
特点:
格式1:适合做单个判断
格式2:适合做两个判断
格式3:适合做多个判断
if的()中是关系表达式,必须是boolean类型
switch:
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
注意:
1.break省略,但是可能产生case穿透的效果
2.default省略,但是异常数据没有处理
3.switch的()中表达式的范围 ,
byte,short,int,char,
枚举,jdk5
String jdk7
4.case后面,必须是常量值,不能是变量
5.停止的条件
1.break
2.运行到结尾
两种选择结构的使用场景
if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断(效率高)
9. 循环语句
for
格式:
for (初始化语句; 判断条件语句; 控制条件语句){
执行语句;
}
for循环嵌套案例小结:
九九乘法表
外循环控制行:x
System.out.print(j+"*"+i+"="+i*j+"\t");
内循环控制列:y
System.out.println();
程序如下:
class ForForDemo2{
public static void main(String[] args) {
//外层循环控制行数
for(int i=1;i<=9;i++){
//内层循环控制列数
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
//换行
System.out.println();
}
}
}
while
格式:
基本格式:
while(条件表达式){
循环体;
}
扩展格式:
初始化表达式;
while(条件表达式){
循环体;
增量表达式;
}
等价于for循环,可以相互的转换
小小区别:
初始化语句:for循环结束,就不能使用
while循环结束,还能使用
do...while
基本格式:
do{
循环体;
}while(条件表达式);
扩展格式:
初始化表达式;
do{
循环体;
增量表达式;
}while(条件表达式);
特点:先do一次,再去while(判断条件语句);
10. break: 中断 ,结束switch或者loop
continue: 继续, 结束当次循环,开始下次循环
return: 返回,结束方法,非常强大
11. 方法:完成特定功能的代码块
格式:
修饰符 返回值类型 方法名 (参数类型 参数....){
执行语句;
return 返回值;
}
return作用:
1.结束方法
2.返回返回值给调用者
调用:
1.明确返回值类型,数据类型 (四类八种)
1.直接调用
2.输出调用
3.赋值调用**************
2.不明确返回值类型 (void)
1.直接调用**************
写方法步骤:
两个明确:
返回值类型: int void
参数列表:
参数个数:参数个数
参数类型:限制参数
再拿九九乘法表做例子:
class ForForDemo2{
public static void main(String[] args){
chengFaBiao();
}
public static void chengFaBiao(){
//外层循环控制行数
for(int i=1;i<=9;i++){
//内层循环控制列数
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
//换行
System.out.println();
}
}
}
第五天数组总结
12.数组:容器 ,存数据,
(1)数组:
(2)特点:
1.元素的类型一致
2.可以存多个元素
3.一旦数组创建,其长度不可以改变
(3)定义格式
格式1:数据类型[] 数组名;
int[] arr ;
格式2:数据类型 数组名[];
int arr[];
动态初始化:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[8];
静态初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
简化为
数据类型[] 数组名 = {元素1,元素2,…};
int[] arr2 = {1,2,3,4,5};
(4)数组的初始化
A动态初始化:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[8];
B静态初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
简化为
数据类型[] 数组名 = {元素1,元素2,…};
int[] arr2 = {1,2,3,4,5};
(5)Java的内存分配
栈
堆
注意:
a:局部变量:在方法定义中或者方法声明上定义的变量。
b:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
数据使用完毕后,在垃圾回收器空闲的时候回收。
(6)数组的常见操作
A:遍历
class BianLi {
public static void main(String[] args) {
//定义数组
int[] array=new int[]{1,46,7,78,
4,32,32,24,6,57,88,6,3};
//打印数组在堆内存中的地址值
System.out.println(array);
//直接调用arr方法
arr(array);
}
public static void arr(int[] array){
//遍历数组
for (int a=0;a<array.length ;a++ ){
//打印数组
System.out.println(array[a]);
}
}
}
B:最值
最大值:
//求两个数的最大值
class MaxTwo {
public static void main(String[] args) {
//定义int c接收getMax方法返回值
int c=getMax(3,4);
//打印返回值
System.out.println(c);
}
public static int getMax(int a,int b){
if (a>b){
return a;
}else{
return b;
}
}
}
C:逆序
方式1:
for循环
方式2:
public static void reverse(int[] arr) {
for(int x=0; x<arr.length/2; x++) {
int temp = arr[x];
arr[x] = arr[arr.length-1-x];
arr[arr.length-1-x] = temp;
}
}
方式3:
public static void reverse(int[] arr) {
for(int start=0,end=arr.length-1; start<=end; start++,end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
D:查表
class ChaBiao{
public static void main(String[] args) {
String[] array=new String[]{"星期一",
"星期二","星期三","星期四","星期五","星期六","星期日"};
System.out.println(getWeek(array,8));
}
public static String getWeek(String[] array,int index ){
if (index>0&&index<8){
return array[(index-1)];
}
return "没有这个星期";
}
}
自己的一点总结,希望对初学者有所帮助
|
|