Java-day02 연구 노트

2020 년 12 월 29 일

첫째, 경로 환경 변수 구성

1. 在环境变量的系统变量中新建一个系统变量,变量名统一命名为 JAVA_HOME,变量值为jdk安装的路径
	如:D:\develop\java\jdk1.8.0_191
2. 在环境变量的系统变量中找到path,并通过%JAVA_HOME%\bin;来进行设置

여기에 사진 설명 삽입

두 가지, 일반적인 실수

1. 找不到此文件          (在编译的目录和文件存放的目录不一致)
2. 没有内部或外部命令     (没有配置好环境变量)
3. 单词拼写错误          (比如:main写成mian)
4. Java是严格区分大小写的 (String和System等官方定义好的类,首字母只能是大写)

注意:类名和文件名尽量要保持一致

자바의 세 가지 일반적인 쓰기 사양

1. 左大括号的左边留有一个空格
2. 左大括号的右边要换行加缩进(缩进通过按一次键盘的tab键即可)
3. 右大括号要和本层次的代码对齐
4. 不同的代码段之间尽量要加上换行
5. 类名中的每一个单词的首字母都需要大写
6. 运算符的两侧都要加一个空格4

네, 공개

公开类就是被public修饰的类。

公开类有如下特点:
	1. 被public修饰的类名一定要和文件名保持一致 
	2. 一个Java文件中可以存放多个类,但是只能有一个类被public修饰
	3. 一般主方法都是放在被public修饰的类中
public class Hello {
    
    
	
	public static void main(String[] args) {
    
    
		
		System.out.println("你好,中国!");
	}
}

다섯, 패키지

각각 동일한 이름의 Java 소스 파일을 저장하는 데 사용됩니다. 패키지는 실제로 폴더입니다.

5.1 패키지 선언

package 包名;

注意:包的声明一定要在所有类的最上方

5.2 패키지 이름 지정

xxxxxxxxxx 域名倒写 (因为域名是全球唯一的)
​如:    
	1. com.ujiuye 会产生两个文件夹,逗号前是一个com文件夹,逗号后是一个ujiuye文件夹。其中com是包含ujiuye。​   
	2. 如下包会创建一个com文件夹,com包含一个ujiuye文件夹,ujiuye包含tools、map、user三个文件夹   
		com.ujiuye.tools        
		com.ujiuye.map        
		com.ujiuye.user

5.3 패키지로 컴파일 및 실행

① 패키지로 컴파일하고 수동으로 폴더 생성
1. 先通过javac 文件名编译
2. 手动创建文件夹(如:包名为com.ujiuye,那么就需要创建一个com文件夹,同时com文件夹有一个子文件夹ujiuye),并将编译生成的字节码文件放入ujiuye包中
② 패키지로 컴파일하고 자동으로 폴더 생성
通过javac -d . 文件名 来进行编译,这种编译方式会自动帮助我们创建相应文件夹,并将字节码文件生成到对应文件夹中

5.4 패키지로 액세스

java 包名.类名

注意事项:带包的访问路径一定要和顶层包一致。(如:要运行com.ujiuye包下的类,就需要在和com同级的包下执行 java com.ujiuye.类名)

여섯, 노트

주석은 승인 및 설명이며 Java의 주석은 주로 코드를 설명하는 데 사용됩니다.

6.1 형식

单行注释: // 注释的内容
	注意事项: 单行注释不能换行,但是可以嵌套
多行注释: /* 多行注释的内容 */
	注意事项: 多行注释可以换行,但是不能嵌套
文档注释:(以后讲)
	/** 文档注释的内容 */

6.2 주석의 특징

1. 注释的内容不参与代码的编译,也就是说注释中可以写任何东西
2. 注释的内容不会出现在代码的结果中

6.3 노트 사용에 대한 참고 사항

1. 一般要求代码中至少要有百分之30的注释
2. 注释可以用来进行代码的调试(后面会讲更高级的调试代码的技术)
3. 注释可以对我们的代码进行梳理,让逻辑更加清晰、有条理
// 这是一个Demo类,是相当于一个房间  
public class Demo {
    
    
	
	/*
	 	这是主方法,是程序的入口
	 	相当于是房间的门		
	 */
	public static void main(String[] args) {
    
    
		
		//这是一个输出语句,可以用来在控制台上打印任何内容
		System.out.println("helloworld!!!");
	}
}

일곱, 키워드

키워드는 특별한 의미와 기능을 가진 영어 단어입니다.

之前见过的关键字:public、class、static、void、package

7.1 특징

1. 全部小写
2. 自定义的变量名不能和关键字重复

注意事项:Java关键字中有两个保留字:const、goto。保留字就是现在不可以使用,但是以后可能会重新启用。

여덟, 상수

상수는 프로그램 실행 중에 값이 변경되지 않는 양입니다.

整数常量   比如:3 5 12
小数常量   比如:12.35 3.15
布尔常量   比如:false、true
字符常量   比如:'我' '你' '她' 
	注意:字符常量必须要用英文状态的单引号引起来,并且单引号中只能放一个字符
字符串常量 比如: "美女,很漂亮" ""
	注意:字符串常量必须要用英文状态的双引号引起来。
空常量:null

注意事项:以上常量除了空常量null外,其余都能通过输出语句直接打印在控制台上。
public class Demo {
    
    
	
	public static void main(String[] args) {
    
    
		
		//整数常量
		System.out.println(12);
		
		//小数常量
		System.out.println(12.35);
		
		//布尔常量
		System.out.println(false);
		System.out.println(true);
		
		//字符常量
		System.out.println('我');
		System.out.println(' ');
		System.out.println('@');
		
		//字符串常量
		System.out.println("我和你");
		System.out.println("");
		System.out.println(" ");
		System.out.println("-------");
		
		//空常量
		//System.out.println(null);  //空常量不能通过输出语句打印在控制台上
	}
}

9, 변수 (이해)

변수는 프로그램 실행 중에 값을 변경할 수있는 양입니다.

9.1 형식

数据类型 变量名 = 数据;

理解:变量就是内存中一块空间,用来存放数据的。
	内存:相当于一个酒店
	变量:相当于酒店中的房间
	数据类型:相当于房间的类型(总统套房、悲惨小单间)
	变量名:相当于房间的名字(卧龙阁、飘云阁)
	数据:住在房间中的人

열, 데이터 유형

我们知道计算机存储数据的方式就是通过0和1,计算机中存储数据的最小单位是“位”bit(一位可以有0和1两种状态),计算机中存储数据的基本单位“字节”byte。

1 byte = 8 bit
1 kb = 1024 byte
1 mb = 1024 kb
1 gb = 1024 mb
1 tb = 1024 gb
因为Java是强类型的语言,所以一个变量在声明的时候必须要先声明好是什么数据类型的。

补充:声明好数据类型之后,会根据这个类型创建这个类型对应的空间。

10.1 분류

基本数据类型:(都是一些简单的数据,Java官方已经帮我们定义好了)
	整数类型
	小数类型
	布尔类型
	字符类型
引用数据类型:(都是一些较为复杂的数据,是通过基本数据类型及其它引用数据类型组成的)
	类  (通过关键字class定义的)
	接口(通过关键字interface定义的)
	数组 

10.2 기본 데이터 유형 (4 가지 유형 및 8 가지 유형)

整数类型
	byte       1个字节    -128~127     【掌握】
	short      2个字节    -2^15~2^15-1
	int        4个字节    -2^31~2^31-1 【常用】
	long       8个字节    -2^63~2^63-1
小数类型【IEEE754标准】     
	float      4个字节    最大能表示3.4E38 
	注意:
		1. E38表示10的38次方
		2. float的4个字节比long的8个字节表示的数据范围都大。后面有具体的方法可以获取float的取值范围)
	double     8个字节
布尔类型
	boolean    true、false
字符类型
	char       2个字节     0~65535
	

数据类型从小到大排列:
byte < short = char < int < long < float < double

10.3 정수 및 소수에 대한 기본 데이터 유형

整数默认的数据类型:int
	注意:如果想要定义一个long类型,那么需要在数据后面加上大写或者小写的L(建议大写)
小数默认的数据类型:double
	注意:如果想要定义一个float类型,那么需要在数据后面加上大写或者小写的F
public class Demo {
    
    
	
	public static void main(String[] args) {
    
    
		
		/*
			等号后面的3就是一个整数常量
			
			注意:
				1. 经过以下实验发现整数的默认数据类型为int类型
				2. 如果想要定义一个long类型,并且这个long类型的数据要比int类型最大值都要大
					那么我们可以在这个数据的后面加上大写或者小写的L,来表明这个数是long类型的数
		 */
		//int a = 2200000000;  //超出了int类型的范围2147483647
		//byte b = 3;     //因为整数3在byte的范围之内,所以可以赋给byte类型b
		//byte b = 128;   //此处报了一个错误:类型不匹配,不能从int转换为byte
		
		short s = 128;
		//long l = 2200000000; //错误,因为默认是int类型,但是此数已经超过了int的范围
		long l = 2200000000L; 
	}
}
public class Demo2 {
    
    
	
	public static void main(String[] args) {
    
    
		
		/*
			等号后的12.35都是小数常量
			
			总结:
				1. 经过试验得知,小数类型默认的数据类型为double
				2. 如果定义一个float类型的变量,
				   那么需要在数据后面加上一个大写或者小写的F
		 */
		double d = 12.35;
		//float f = 12.35;  //报错。类型不匹配,不能从double类型转换为float类型
		float f = 12.35F;
		
	}
}

11. 변수

11.1 변수 선언 및 초기화

格式一:在声明的同时就初始化
	数据类型 变量名 = 数据;
	如:int a = 3;

格式二:先声明,然后再初始化
    数据类型 变量名;
	变量名 = 数据;
	如:
    int a;
	a = 3;	

格式三:同时声明多个变量,并进行初始化
	数据类型 变量名1, 变量名2, 变量名3;
    变量名1 = 数据;
    变量名2 = 数据;
    变量名3 = 数据;
    如:
    int b, c, d;
	b = 3;
	c = 4;
	d = 5;

	
注意:
	1. 以后定义一个整数,如果我不提是什么类型,那么就默认为是int
	2. 变量名可以随意起(但是一定不要数字开头)
    3. 如果一个变量没有被初始化,那么不能使用
    4. 在一个大括号中,不能定义相同的变量名

11.2 변수 수정

int a = 3;  
/*
	因为程序是从上到下执行的,
	而此处a是修改之前的a,内容还是3
*/
System.out.println(a);    //3
a = 5;   //此处a已经被修改为了5

System.out.println(a);    //5

12. 식별자

식별자는 Java에서 클래스, 인터페이스, 메서드, 변수, 상수, 열거 형 및 패키지의 이름을 지정하는 데 사용되는 문자 시퀀스입니다.

12.1 구성 규칙

英文字母:a-zA-Z
数字:0-9
特殊符号:$和_
其它大部分国家的字符

12.2 참고

1. 数字不能开头
2. 建议:
   类名、接口名:XxxYyyZzz
   变量名、方法名:xxxYyyZzz
   常量名:XXX_YYY_ZZZ
public class Demo {
	
	public static void main(String[] args) {
		
		int a = 3;
		int a666 = 3;
		int _hello = 666;
		int $aaa66 = 999;
		
		//int 6a = 111;  //错误,数字不能开头
	
		int 数 = 666;
		数 = 777;
		System.out.println(数);
		
		int Chine = 1;  //法语
		
		int class = 2;  //错误,因为class是关键字
		int _class = 2;
		
	}
}

추천

출처blog.csdn.net/ChangeNone/article/details/111934981