随堂笔记(java)
JAVA基本语法(基础阶段)
注释
java中的注释有三种:
- 单行注释:“//”
- 多行注释:“/* xxxxx */”
- 文档注释:即JavaDoc,“/** xxxxx */”
1.//单行注释
2./*多行注释*/
3./**
*文档注释
*/
ps:平时写代码时,一定要注意注释规范,养成良好的行为习惯。
标识符
-
关键字
String 不是关键字,是类。 -
java所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符。
注意:序号1是文件名,序号2是类名(序号1和序号2名称一样且大小写保持一致),序号3是方法名,序号4是定义的变量名。 -
标识符注意点
- 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始。
- 首字符之后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)或者数字的任何字符组合。
- 不能使用关键字作为变量名或方法名。(特别注意)
- 标识符是大小写敏感的。
- 合法标识符举例:age、$salary、_value、__1_value…
- 非法的标识符举例:123abc、-salary#abc…
public static void main(String[] args){
String 王者荣耀 ="游戏”;
System.out.println(王者荣耀);
}
- 可以使用中文命名,但是一般不建议这样使用,也不建议使用拼音,给人的感觉很垃圾。
数据类型
- 强类型语言(变量定义要规范、先定义后使用相较于弱类型语言安全性更高、但是速度较低)
- Java的数据类型分为两大类
//整型
byte num=5;
int num1=10;//int类型最常用
short num=20;
long num2=10L;//long类型要在数字后面加一个L,以表示区别
//浮点
float num3=50.1F;//float类型要在数字后面加一个F
double num4=3.1415926535;
//字符
char name="qiqi";
//字符串,String不是关键字,而是类
//boolean型
boolean flag=true;//是非
- 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
- 1B=8bit
- 字符:是计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte表示一个字节
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
- 1024G=1TB
整数扩展
public class hello
{
public static void main(String[] args)
{
int i1=10;//十进制
int i2=010;//八进制
int i3=0x10;//十六进制
int i4=0b10;//二进制
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
运行结果
浮点数扩展
public class hello
{
public static void main(String[] args) {
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//判断是否等于
System.out.println(f);
System.out.println(d);
}
}
运行结果
结论:按理来说,f与d相等,但是判断的结果却是false;因为float是有限的、离散的、舍入误差、大约类型的,所以可以说该值接近但是不等于---------->所以最好完全避免使用浮点数进行比较
字符扩展
public class hello
{
public static void main(String[] args) {
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制类型转换
System.out.println(c2);
System.out.println((int)c2);//强制类型转换
}
}
运行结果
结论:通过强制类型转换,得出:所有的字符本质还是数字
编码中的unicode的编码,可以处理各种语言文字,占2个字节,最多可以表示0-65536(但是现在不止这么多)unicode中有一张编码表,如:97==‘a’,65==‘A’。unicode的表示通过转义来表示在U0000~UFFFF区间,如:char c3=‘\u0061’;//"\u"表示转义(十六进制,所以这里的代表65),这里输出的c3代表a。
转义字符
\t 制表符(相当于tab键)
\n 换行
public class hello
{
public static void main(String[] args)
{
String sa= new String("hello world");
String sb= new String("hello world");
System.out.println(sa==sb);
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);
}
}
运行结果
从内存分析:new开辟了新的内存空间,而第二个保存在字符池,所以第一个为false,第二个是true。
如果比较的对象是基本数据类型,则比较的是数值是否一样;如果比较的对象的引用数据类型,则比较的是地址是否一致。
boolean flag =true;
if(flag){}
if(flag==true){}//第一个if比第二个if少计算,更加简洁