Java复习 2019.3.28

一、基础知识

(1).注释
1.我们学习文言文的时候,针对一些语句,会有专门的解释说明;
2.在代码中,用注释说明代码的作用或者部分类容;
3.注释的特点:
	(1)编译器不会去检查编译注释掉的内容
	(2)运行的时候直接忽视掉它
4.分类
	(1)单行注释:使用(//),注释掉当前一行的内容。注释的是//后的内容;可以嵌套使用(快捷键:Ctrl+/)
	(2)多行注释:使用/**/,注释多行内容,不能嵌套;
5.注释的作用:
	(1)对程序进行解释说明:要求代码中,有30%的内容都是注释
	(2)对程序的思路进行描述
	(3)利用注释,做一些简单的调试,定位出现错误的代码,进行修改调试的时候更容易找到
package com.zyt.demos;
public class Demo_1 {
	public static void main(String[] args) {
		// 单行注释 // //  特//点:可以嵌套使用
		//	System.out.println("hello");
//		多行注释 【/**/】
	
	/*	
	 	咕噜咕噜
	 	呼噜呼噜
	 	嘎机嘎机
	*/
//		*/特点,不支持嵌套使用
	}

}
(2).关键字
什么是关键字?
答:在java语言中被赋予特殊含义,特殊功能的单词,如图所示

img

特点:
1.全是小写
2.起名的时候最好不要和关键字重名
(3).标识符
1.标识符:用于给类,接口,方法,变量,常量,枚举等起名字的一种规则。
2.组成:
	(1)英文字母大小写,a-z,A-Z
	(2)数字 0-9
	(3)特殊符号_ $
	(4)不常用的符号:除了英文的其他语言字符
3.注意事项
	(1)不能关键字重名,public不合法的,但是Public(最好建议还是不重名)
	(2)数字不能开头,123Hu不合法,Hu123合法的
	(3)_和$ ,      _123,$123都是合法的,但是不建议使用$作为起名字的符号
	不建议使用中文起名字。(不要使用中文起名字)

3.Java命名规则(比较重要⭐)

1.约定的规则,在运行开发的时候编译器虽然不会去检查,但是作为程序员,这些约定成俗的规则还是要遵守的;
2.规则:见名知意(看见名字就知道什么意思)
	包名:全部小写,域名倒着写 比如【com.baidu.demo com.zhifubao.demo】
	类和接口:每个单词首字母大写,	其余字母小写(大驼峰命名),比如【Demo,Hello,Gola】 ps:前文这里我好像写错了
	方法:如果是一个单词,全部小写,如果是两个单词构成,则第一个单词首字母小写,第二个单词首字母也大写,(小驼峰命名法) 比如【show(),getAge(),setAge】
	变量:小驼峰命名法,比如【name,myName】
	常量:所有字母大写,多个单词用_分开,比如【HELLO_WORLD,PI,MAX_NUM】

二、常量

1.常量的理解
	常数:指的是在运算过程中其值不会改变的数,比如说圆周率π
	圆的面积:S = πr²
	面积随着r的变化而变化,但是π保持不变,π就是一个常数。
2、常量:指的是在运算过程中其值不会改变的量;
3、常量的分类
	常量按照表示形式进行分类:
        字面值常量:写出常量,就知道常量所表示数的大小。 12,23,-12.123,等
        符号常量:给常量起一个名字,看到名字知道常量所代表的值得含义,但是不知道具体的值。s = ? m = ?
4、常量根据数据类型进行分类
	基本数据类型:简单的数据
		整数类型:1,2,3,-1,-5,-6等等这些整数
		小数类型:1.1,1.2,1.3,-1.1,-1.2等
		字符类型:使用单引号括起来的单个字符就是字符类型‘a’,'6',‘b’
		布尔类型:判断正确和错误,true(真),false(假)
	引用数据类型:复杂的数据
		字符串常量:使用双引号括起来的多个字符序列 比如:("这是一个字符串")
		空常量:null,不指向任何的数据,表示为空
public class HellloWorld {
    public static void main(String[] args) {
        //		字符串常量
        System.out.println("Hello World");
        System.out.println("这是一个字符串");
        //整数常量
        System.out.println("1");
        System.out.println("2");
        System.out.println("-3");
        //小数常量
        System.out.println("1.1");
        System.out.println("1.12");
        System.out.println("-1.12");
        //布尔
       int m = 1;
       int n = 2;
        System.out.println(m == n);//这里打印false
        System.out.println(m < n);//这里打印ture
        //		字符常量
        System.out.println('a');
        System.out.println('3');
        System.out.println(' ');//没有空字符 字符常量是单引号!!!
    }
}

1616769972616

三、数据类型

1、java语言是一个强类型语言:需要显式的说明内存空间的大小,声明变量的时候,就需要说明变量的数据类型,一次表示所占用内存空间的大小
2、数据类型的分类:
	基本数据类型:在jdk中已经定义好的一些类型,描述的都是一些简单的数据,描述的就是数据本身。
	引用数据数据:数据描述的不再是数据本身,描述的是数据的地址。一般使用自定义类型去描述。
3、基本数据类型:四类八种 1G=1024MB 1MB=1024kb 1kb=1024b
	整数类型:
		    byte    1个字节(8bit,8个二进制位)补码表示法     
		    short   2个字节                            
		    int     4个字节                            
		    long    8个字节 	
	小数类型:(浮点类型) IEEE754标准
			float   4个字节         > 8个字节的long类型的    
			double  8个字节         >4个字节的float类型
	字符类型:
			char    2个字节         表示65536个字符
	布尔类型:	
			boolean  未知           true ,false
	
	常量的默认类型;
		整数类型都是int类型,如果要表示超int类型的数据,就要在后面加上L或者l
		小数类型默认都是double类型的,

img

(1).数据类型的隐式转换
1、当小范围的数据类型和大范围数据类型进行运算的时候,会将小范围的数据类型默认提升为大的范围的数据类型,再进行运算。
2、注意事项
	byte<short=char<int<long<float<double
	byte,short,char,int在相互进行运算时,会默认直接将运算结果提升为int类型,而非较大类型
	int类型以及int以上的类型,在相互运算时,会提升为较大类型。
public class Zhuan {
    public static void main(String[] args) {
        //数据隐式转换
        byte i = 127; 
        int a = 300;
        int sum = i + a;
        System.out.println(sum);

        byte i1 = 120;
        short m = 1000;
        int a2 = i1 + m ;
        System.out.println(a2);
        //应该能看懂吧
    }
}

(2).数据类型的强制转换
1、大的范围的数据,要转成小范围的数据,就需要使用强制转换
2、格式
	小范围的数据类型 变量名 =(要转成的小范围数据类型)要转的大范围的数据  比如:int i = (int)l;
3、注意:
	进行转换的时候,可能会造成数据的丢失。
public class Zhuan {
    public static void main(String[] args) {
        //数据隐式转换
        byte i = 127;
        int a = 300;
        int sum = i + a;
        System.out.println(sum);

        byte i1 = 120;
        short m = 1000;
        int a2 = i1 + m ;
        System.out.println(a2);
        //应该能看懂吧

        //数据强制转换
        long l = 12345678914151515l;
       // int i = l; //这里会报错,转换不了
        int i2 = (int)l;//强制转换
        System.out.println("强制转换结果为:" + i2);//虽然没报错,但是造成了数据丢失 打印结果为如下图所示
        float f = 2.445f;
        int j = (int)f;
        System.out.println(f);
    }
}

1616773194829

四、字符类型

1、使用单引号括起来的单个字符。使用关键字,char
2、在计算机中,所有的数据都是使用数字来进行表示的,字符也不例外。
3、看到的字符,和计算机中的数字,有一个转换的关系:
	从字符到数字的过程,叫做【编码】
	从数字到字符的过程,叫做【解码】
	其中,在转换的过程中字符和数字的对应关系,就叫做【编码表】
4、编码表:字符集,最开始只有英文字母,数字,英文符号,定义在ASCII码表中
5、ASCII码表如下图所示

ASCII码表

常见的编码表:ASCII,GBK,GB2312,utf-8,unicode
规律:数字本身连续,数字到字母不连续的,大写字母到小写字母也是不连续的,但是大写字母和小写字母本身是连续的
	大写字母和小写字母相差32
	a 。。。。 97
6、各个国家而言,都有自己的字符,所有都需要定义自己的编码表,中国:GBK,GB2312其中都是中国的汉字,但是它也是兼容ASCII码表的,因此在GBK编码表中,前面的128个数字都是ASCII码表中的,表示字母使用一个字节,表示汉字使用2个字节
7、各个国家都有自己的编码表,出现了一个统一码,Unicode,使用两个字节表示一个字符,总共能表示65536个字符,可以表示世界上所有的字符,java语言在内存中表示字符使用unicode编码
8、在内存中一般使用unicode编码,在磁盘或者网络中,使用GBK和utf-8.无论是哪种编码表,都是兼容ASCII码表,任意的编码表中,ASCII中的字符对应的数字都是相同的
9、java中表示字符使用unicode编码
	格式:‘\uXXXX’,\u表示使用unicode码值表示一个字符,xxxx表示使用4个十六进制的数字表示unicode码值
//	字符类型
	public static void main(String[] args) {
//		将字符转成 数字
		System.out.println('a' + 0);
		int a = 'a';
		System.out.println(a);
//		将数字转成字符
		int c = 21321;
		System.out.println((char)c);
//		\转义
		System.out.println(" \" ");
		System.out.print("asdf");
		System.out.print("\r");
		System.out.println("asdf");
		System.out.println('\u88FF');
        //转义这东西,整我的有点懵,想不出有啥用
	}
}

1616773639180

五、字符串类型

1、使用双引号括起来的字符序列,是一种引用数据类型,字符串类型变量空间中,记录数据的地址。
2、声明字符串使用的数据类型:String
3、字符串可以和其他的数据类型进行拼接的:使用+号	
	再进行字符串拼接的时候,先将其他的数据转成字符串类型,再进行拼接,如下代码所示
public class String111 {
    public static void main(String[] args) {
        System.out.println("HelloWorld");
//		字符串变量的定义
        String str = "HelloWorld";//str是一个String类型(字符串类型的)变量
        str = "java";
        System.out.println(str);
        String str1 = "java";
        int i = 1;
        System.out.println("java" + 1.2);
        System.out.println("java" + true);
        System.out.println("java" + 'm');
        System.out.println("java" + " php");
//		代码的执行顺序从上到下,从左到右
//		System.out.println(true + 1 + "java");
        System.out.println("java" + true + 1);
    }
}

1616774600104

posted @ 2020-03-28 22:47  斯坦福桥保安  阅读(10)  评论(0)    收藏  举报