Java小白 学习笔记与心得
Java 小白 学习笔记心得(一)
本系列博客为学习JAVA后端的一系列笔记与心得。笔者作为初学者肯定会对很多问题仅有粗浅的见解甚至是错误的认识。若说的不对也请大家指出!作为Java语言的初学者,此博客是作为自己学习笔记作用,仅适合与完全没有接触过Java的小白一起学习的。各位Java大佬们,请避开此博客,以免浪费时间。
标识符
- 什么是标识符?
在java源程序设计当中凡是有权利自己命名的单词都为标识符,其可以表示:类名、方法名、变量名、接口名、常量名等。 - 标识符的命名规则?
(1)一个合法的标识符只能由数字、字符、下划线_、美元符号$组成,不能包含其他符号 ;
(2)不能以数字开头;
(3)严格区分大小写;
(4)关键字不能做标识符。 - 标识符的命名规范?(方便其他程序员看)
(1)最好见名知意;
(2)遵守驼峰命名方式
(3)类名、接口名:首字母大写,后面每个单词的首字母大写;
(4)变量名、方法名:首字母小写,后面每个单词首字母大写;
(5)常量名:全部大写。
关键字
- 什么是关键字?
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
字面值
- 什么是字面值?
字面值就是数据。类似:1,10,10.0,‘a’,“a”,True等。由此,可见字面值
变量
- 什么是变量?
(1)变量本质上来说是内存中的一块空间,这块空间里面有“数据类型”、“变量名”以及“字面值”;
(2)变量包含三个部分:数据类型、变量名以及字面值。 - 数据类型的作用?
(1)数据类型是指导程序在运行阶段应该分配多大的内存空间。 - 声明/定义变量的语法格式?
数据类型 变量名;例如 int number。 变量声明之后必须显示的赋值,number= 10;(注意赋予的字面值类型需要与变量申明的数据类型一致,如果不一致程序会进行数据类型转换(后面讲)或报错)
数据类型
- 数据类型的作用?
数据类型是指导程序在运行阶段应该分配多大的内存空间。 - java数据类型分为两大中数据类型:
- 基本数据类型及所占字节数:
整数型:byte,short,int,long(1,2,4,8)
浮点型:float,double(4,8)
布尔型:boolean (1)
字符型:char (2) - 引用数据类型
- 整型当中最常用的为int型,java中整型的字面值默认为int.
- 浮点型中,常用的为double型 ,java中浮点型的字面值默认为double.
- 布尔型:仅有True与False
- char类型:java中char类型仅能利用单引号’ '表示。char类型的编码规则有:ASCII、GB18030、BIG-5、Unicode、或UTF-16等
- 8中基本数据类型之间的转换规则:
(1)八中数据类型中除boolean类型外,其他七中都可以互相转换;
(2)小容量向大容量转换时,进行自动类型转换(byte<short=char<int<long<float<double),但是char比short可以表示更大的正整数;
(3)大容量转换为小容量需要进行强制类型转换,但是仍可能损失精度;
(4)当字面值没有超过byte,short,char的取值范围,可以直接赋值给byte,short,char的类型变量 eg:char name = 97;
(5)byte,short,char混合运算时先转化为int;
(6)多种数据类型混合运算时,先转换为容量最大的那种类型再做运算。
注意以下例子:
long g = 10;
byte h = (byte)(int)g/3; 此例无法编译通过,因为编译期间虚拟机只知道等式右边为int型数据,而不知道具体数据,所以规则4不适用。
运算符
- 算数运算符:+、-、*、/、%(求余),++, –
- 关系运算符:<,>,<=,>=,==,!=
- 布尔运算符:&&,||,!,
- 三元运算符:condition? expression1: expression2
- 位运算符:&,|,~,^(异或),>> 二进制右移,<< 二进制左移
控制语句
- 条件语句 if:if(condition) {state;} elseif(state;}
- switch 语句: switch (choice) { case1: …; break; case2: …; break; default : … break} 其中choice必须为整数 或枚举类型(自jdk1.7后字符型也可以,但字符串不行)。 break 很重要,若没有,程序会接着运行而不会跳出选择。
- while(condition){state} 或 do{state} while(condition);
- for(int i =0 ; i<10 ; i++ ) {state}
- break 可以直接跳出循环, continue 直接表示下一个循环继续,continue后面的语句被跳过。
方法
- 方法的构成:
修饰符 返回值类型 方法名(形参列表) :{ 方法体} - 方法的重载:
方法重载发生在同一个类当中,重载方法与原始方法的方法名相同,但是形参列表中形参的类别,顺序,或数量至少有一个不同。修饰符与返回值类型可以不同。 - 方法调用的内存分析
下图为下例代码的内存分析
// Method memory analysis
public class MethodTest01
{
public static void mian(String[] args):
{
int a = 10;
int b =20;
int retValue = sumInt(a,b);
System.out.println("retValue = " + retValue);
public static int sumInt(inyt i, int j)
{
int result = i+j;
int num =3;
inr retValue = divide(result,num);
return retValue;
}
publc static int divide(int x, int y)
{
int z= int x/y;
return z;
}
}
}