02.Java 编程入门学习笔记20210307

Java 编程入门学习笔记-day02

第一章:Java语言概述

HelloWorld的总结:

/*
一、编写的说明
1. 大括号的位置:行尾的风格
2. 必要的代码缩进
3. 每一条执行语句都换行书写
4. 必要操作符与变量之间的空格


二、
1. Java是严格区分大小写的
2. 一个Java源文件中可以声明多个java类。则在编译源文件之后,会声明对应的java类的字节码文件。
3. 源文件中最多有一个类使用public进行修饰;使用public修饰的类的类名必须与源文件名相同。
4. 一般在开发中,一个源文件中,只声明一个java类。
*/
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World!");
		System.out.println("Hello World!" + "\n");

		int num1 = 10;
		int num2=20;

	}
}

class HelloChina{

}

class HelloWH{
	public static void main(String[] args) {
		
	}
}

常用的开发工具:

  • 文本开发工具:EditPlus \ NotePad++ \ TextPad \ …
  • IDE:Eclipse \ IDEA

第2章:变量与运算符

1.关键字与保留字

  • 关键字:
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
  • 常用的关键字有:(不需要记忆)
    在这里插入图片描述
    在这里插入图片描述
  • 保留字
现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 
目前的保留字有:goto 、const

2.标示符

  • 什么是标识符?
Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符。比如:类名、变量名、方法名、接口名、包名等
  • 标识符命名的规则?
> 由26个英文字母大小写,0-9 ,_或 $ 组成  
> 数字不可以开头
> 不可以使用关键字和保留字,但能包含关键字和保留字
> Java中严格区分大小写,长度无限制
> 标识符不能包含空格

结论:如果不遵循上述规则的话,编译(javac.exe)失败!

  • 标识符命名的规范?
> 包名:多单词组成时所有字母都小写:xxxyyyzzz
> 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
> 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
> 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

结论:如果不遵循上述规范的话,编译能通过。但是建议大家遵守上述的规范。

  • 标识符在命名时,大家尽量要“见名知意”
  • 对应的代码
class IdentifierTest { //类名IdentifierTest就是标识符
	public static void main(String[] args) {

		System.out.println("Hello World!");

		int myAge = 18;

		int mynumber = 1001;//不遵循规范,但是编译能通过。

		System.out.println(mynumber);

		//int i1 = 10;
		//int i2 = 20;

	}
}

class AB123_$C{
}

class _1Hello{
}

class public1{
}

class Static{
}

class hellowuhan
{
}

3.变量

3.1 变量的声明

变量声明的格式:变量类型  变量名 = 变量值

代码演示:

class VariableTest1 {
	public static void main(String[] args) {
		
		//定义一个学生的年龄,赋值为18
		int myAge = 18;

		//定义一个学生的学号,赋值为1001
		int myNumber;//变量的声明

		//System.out.println(myNumber + 1);//编译不通过,因为没有初始化赋值

		myNumber = 1001;//变量的赋值

		System.out.println(myAge);

		//接下来的代码中都可以使用myAge或myNumber
		
		//编译不通过,因为在相同作用域内,不允许定义同名的变量
		//int myAge = 20;
		System.out.println(myAge + 10);
		
		//编译不通过,因为之前没有定义过myWeight变量
		//myWeight = 70.5;
		
	}

	public void show(){
		//System.out.println(myAge); //超出了myAge的作用域,所有编译不通过
	}
}
  • 说明
    ① 变量需要先声明后使用
    ② 变量都有其对应的作用域。只在其作用域内是有效的。
    ③ 相同作用域内,不允许定义同名的变量

3.2 变量的分类

1.针对于变量值,要求:① 满足变量的类型  ② 在指定类型允许的数据范围内定义,超出范围会报错。
int myAge = 18;
//报错,因为数据超出了int的范围
//myAge = 186345634565465436345;
System.out.println(myAge);
2. Java 语言是强类型的语言,即每个定义的变量都需要显式的标识其具体的数据类型。

3. 变量按照数据类型来分:
   类型一:基本数据类型 (8种)

		整数类型:byte \ short \ int \ long 

		浮点类型:float \ double
		
		字符类型:char

		布尔类型:boolean

   类型二:引用数据类型
   		
		类(比如:String)、接口、数组


4. 补充:变量还可以按照在类中声明的位置进行分类: 成员变量 vs 局部变量。

3.3 具体的基本数据类型的使用

  • 整型
		//1. 整数类型:byte (1字节=8bit) \ short (2字节)\ int (4字节)\ long (8字节)
		//① byte:表数范围是-128 ~ 127
		byte b1 = 12;
		//b1 = 128;//编译不通过
		System.out.println(b1);

		short s1 = 1235;
		int i1 = 23423;
		//② 定义long类型变量时,后缀以"l" 或 "L"结尾
		long l1 = 32432423423L;
		//③ 开发中,定义整型变量时,常常使用int类型。

		l1 = 345345345l;
  • 浮点型
		//2. 浮点类型:float (4字节) \ double (8字节)
		//① float在声明时,后缀以"f"或"F"结尾
		float f1 = 12.3F;
		//float f2 = 43.32; //编译不通过

		double d1 = 432.353;
		double d2 = .432;

		System.out.println(f1);
		//System.out.println(f2);
		System.out.println(d1);
		System.out.println(d2);
		//② 开发中,定义浮点类型变量时,常常使用double类型。

		//③ float表示数据的范围要大于long类型表示数据的范围
  • 浮点型
//3. 字符类型:char(1字符 占用2个字节)
		//① 使用一对''表示一个字符

		char c1 = 'a';
		char c2 = '我';
		char c3 = '+';
		char c4 = 'シ';
		
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		System.out.println(c4);

		//编译不通过
		//char c5 = 'ab';
		//编译不通过
		//char c6 = ''; //String str = ""; 编译通过

		//② 除了声明的char中只有一个字符之外,还有另外两种情况:
		//情况一:声明转义字符
		char c7 = '\n';//换行
		char c8 = '\t';//制表符
		System.out.println("hello" + "world");
		System.out.println("hello" + c7 + "world");
		System.out.println("hello" + c8 + "world");

		//情况二:直接使用 Unicode 值来表示字符型常量
		char c9 = '\u0041';
		char c10 = 'A';
		System.out.println(c9);//A

		//情况三:放到变量的运算处解释
		char c11 = 97;
		//char c12 = '97';
  • 布尔类型
		//4. 布尔类型:boolean
		// ① 只有两个值:true 、 false
		// ② 常常使用在条件判断、循环语句中
		boolean isAdult = true;
		if(isAdult){
			System.out.println("你可以看成人电影了");

		}else{
			System.out.println("还是看看动画片吧~");
		}

4.基本数据类型变量间的运算规则

前提:只适用于非boolean类型的其它7种基本数据类型。

4.1 自动类型提升

在这里插入图片描述

容量小的变量与容量大的变量做运算,结果为容量大的变量所对应的数据类型。
	byte 、short 、char --> int ---> long ---> float --> double
	
	特殊的:byte、short 、char 三者之间两两做运算的话,结果是int类型。
class VariableTest3 {
	public static void main(String[] args) {
		
		int i1 = 10;
		int i2 = 20;
		int i3 = i1 + i2;
		long i4 = i1 + i2;
		//byte i5 = i1 + i2;//编译失败

		byte b1 = 10;
		int i6 = b1 + i1;
		//short b2 = b1 + i1;//编译失败

		float f1 = i4;
		System.out.println(f1);//30.0

		//############特别的###########
		byte bb1 = 10;
		short ss1 = 20;
		//short ss2 = bb1 + ss1;

		byte bb2 = 30;
		//byte bb3 = bb1 + bb2;

		short ss2 = 40;
		//short ss3 = ss1 + ss2;

		//#########关于char类型##############
		char c1 = 'a';
		System.out.println(c1 + 0);//97

		int ii1 = 10;
		int ii2 = c1 + ii1;
		//编译不通过
		//short ss3 = ss2 + c1;
		int ii3 = ss2 + c1;

	}
}

4.2 强制类型转换

可以看做是自动类型提升运算规则的逆运算。

将容量大的数据类型的变量转换为容量小的数据类型的变量:使用强转符:()
class VariableTest4{
	public static void main(String[] args) {
		
		int i1 = 10;
		//编译不通过
		//byte b1 = i1;

		byte b1 = (byte)i1;
		System.out.println(b1);

		//出现了精度的损失
		int i2 = 128;
		byte b2 = (byte)i2;
		System.out.println(b2);//-128
		
		//出现了精度的损失
		float f1 = 12.7F;
		int i3 = (int)f1;
		System.out.println(i3);
    }
}

4.3 练习

//############练习##################
long l1 = 1234; //理解成int的自动类型提升
System.out.println(l1);

long l2 = 12342134234L;//直接使用8个字节的内存空间进行存储
		
//编译不通过
//float f1 = 12.3;//12.3 看成是double类型,不可以赋给容量小的类型

4.4 常量的理解

		/*
		整型的常量,默认为int类型
		浮点类型的常量,默认为double类型
		*/
		int i = 10;
		int j = i + 20; //20:常量
		

		short s1 = 10;
		//short s2 = s1 + 20;//编译不通过
		short s3 = (short)(s1 + 20);
		
		float f2 = 12.3F;
		double d1 = f2 + 1.2;

5. String的使用

/*
字符串的使用

1. 理解字符串的含义
2. 字符串使用一对""表示
3. 字符串可以与8种基本数据类型的变量做运算;但是只能做连接运算: + 
4. 运算结果仍是字符串类型
*/
class StringTest {
	public static void main(String[] args) {
		String s1 = "Hello";
		String s2 = s1 + 123;
		System.out.println(s1);
		System.out.println(s2);

		int i1 = 10;
		boolean b1 = false;
		String s3 = s1 + i1 + b1;
		System.out.println(s3);//Hello10false
		
		//编译不通过
		//String s4 = i1 + b1 + s1;
    }
}
  • 练习
//练习1
		System.out.println("hello" + "\t" + "world");

		//*	*
		System.out.println("*	*");
		System.out.println("*" + "\t" + "*");//*	*
		System.out.println("*" + '\t' + '*');//*	*

		System.out.println('*' + "\t" + "*");//*	*
		System.out.println('*' + '\t' + "*");//51*
		System.out.println('*' + '\t' + '*');//93
		System.out.println("*" + "\t" + '*');//*	*

		//练习2
		char c = 'a';
		int i = 10;
		String s = "hello";
		System.out.println(s + i + c);//hello10a
		System.out.println(s + (i + c));//hello107
		System.out.println(i + s + c);//10helloa
		System.out.println(i + c + s);//107hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值