一、基础知识
(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语言中被赋予特殊含义,特殊功能的单词,如图所示

特点:
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(' ');//没有空字符 字符常量是单引号!!!
}
}

三、数据类型
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类型的,

(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);
}
}

四、字符类型
1、使用单引号括起来的单个字符。使用关键字,char
2、在计算机中,所有的数据都是使用数字来进行表示的,字符也不例外。
3、看到的字符,和计算机中的数字,有一个转换的关系:
从字符到数字的过程,叫做【编码】
从数字到字符的过程,叫做【解码】
其中,在转换的过程中字符和数字的对应关系,就叫做【编码表】
4、编码表:字符集,最开始只有英文字母,数字,英文符号,定义在ASCII码表中
5、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');
//转义这东西,整我的有点懵,想不出有啥用
}
}

五、字符串类型
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);
}
}
