Java基础-2

知识点:

        熟记 JAVA 语法基础

        标识符 关键字 8 大基本类型 基本类型的字面值 基本类型转化

一、Java语法基础

1.1标识符

        标识符可以简单的理解成一个名字。在 Java 中,我们需要标识代码的很多元素,包括类名、方法、字段、变 量、包名等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则:
        1) 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
        2) 不能以数字开头。如:123name 就是不合法
        3) 标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符
        4) 标识符的命名最好能反映出其作用,做到见名知意。
        5) 标识符不能是 Java 的关键字

1.2关键字

        在 Java 中,有一些单词被赋予了特定的意义,一共有 53 个关键字。这 53 个单词都是全小写.
其中有两个保留字:const 和 goto。注意,关键字不能被用作标识符!!

 1.3注释

        几乎所有编程语言都允许程序员在代码中输入注释,因为编译器会忽略注释,所以注释并不会影响程序的运行结果。 注释的真正作用是: 它可以向任何阅读代码的人描述或者解释程序的实现思路,如何使用以及其它任何相关信息, 提高代码的可读性,方便后期的维护与复用。
Java 的注释有 3 种:
1) 单行注释: 注释单行内容.
        格式: 每行都以 // 开头.
        快捷方式: Ctrl+/ 添加注释,同样的快捷键,再按一次取消注释
2) 多行注释:注释多行内容,虽然叫多行注释,也可注释单行内容.
        格式: 以” /* ”开头, 以” */ ”结束.
        快捷方式: Ctrl+shift+/ 添加注释, Ctrl+shift+\ 取消注释, 输入” /* ”之后按回车添加注释
3) 文档注释: 一般用来注释类和方法 ,通过注释内容来记录类或者方法的信息.
        格式: 以” /** ”开头。 以” */ ”结尾.
        快捷方式: 输入“ /** ” 之后按回车添加注释

1.4变量

在 JAVA 中,我们需要记录一些数据,但这些数据的值是不固定的,总在变,我们可以把这些数据理解为变量。 我们通过三个元素来描述变量:变量类型 变量名以及变量值
int age = 18; //声明 int 类型的变量并赋值
String tel ; //声明 String 类型的变量
注意:
1、变量名必须是一个有效的标识符
2、变量名不可以使用 java 关键字
3、变量名不能重复

1.5常量

在程序运行过程中,值一致不会改变的量成为常量。

二、数据类型

2.1基本数据类型

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

 2.1.1练习1:输入个人信息

创建 Java 工程: DAY02
创建包: cn.tedu.basic
创建类: Test1_Info.java
需求: 在控制台打印: java 工程师今年 28 岁,月薪 100000.88, java 是挺好的
package cn.mbh.basic;
/**本类用于测试在控制台打印个人信息*/
public class Test_Info {

	public static void main(String[] args) {
		//定义变量的规则: 数据类型 数据名 数据值
		//String类型不属于八大基本类型,它可以保存一串值
		String name = "Java工程师";
		int age = 28;
		double salary = 100000.88; 
		//通过+动态拼接字符串
		System.out.println("我是"+name);
		//如果是在中间拼接用 ""+变量+"" 的格式
		System.out.println(name+"今年"+age+"岁,月薪"+salary+",java是挺好的");
	}

}

2.1.2练习2:查看基本类型的最大值与最小值

创建类: Test2_TypeScope.java

package cn.tedu.basic;
/**本类用于查看基本类型的最大值与最小值 Ctrl+Alt+向下键 快速向下复制一行
* @author XYCheng
* @vaesrion 创建时间:2020年12月3日 下午9:01:49
*/
public class Test2_TypeScope {
//必须要写入口函数,否则代码无法执行,因为没有入口
public static void main(String[] args) {
//进行整形类型的测试 byte short int long
//定义变量的规则:数据类型 变量名 变量值;
//定义变量.分别保存最大值与最小值
//JAVA提供了对应基本类型的工具箱 
byte byteMax = Byte.MAX_VALUE;//127
byte byteMin = Byte.MIN_VALUE;//-128
System.out.println("byte类型的最大值是:"+byteMax);
System.out.println("byte类型的最小值是:"+byteMin);
short shortMax = Short.MAX_VALUE;//32767
short shortMin = Short.MIN_VALUE;//-32768
System.out.println("short类型的最大值是:"+shortMax);
System.out.println("short类型的最小值是:"+shortMin);
int intMax = Integer.MAX_VALUE;//2147483647
int intMin = Integer.MIN_VALUE;//-2147483648
System.out.println("int类型的最大值是:"+intMax);
System.out.println("int类型的最小值是:"+intMin);
long longMax = Long.MAX_VALUE;//9223372036854775807
long longMin = Long.MIN_VALUE;//-9223372036854775808
System.out.println("long类型的最大值是:"+longMax);
System.out.println("long类型的最小值是:"+longMin);
//浮点型测试 float double
///1.4E-45(1.4乘以10的负45次方)
float floatMax = Float.MAX_VALUE;//3.4028235E38
float floatMin = Float.MIN_VALUE;//1.4E-45
System.out.println("float类型的最大值是:"+floatMax);
System.out.println("float类型的最小值是:"+floatMin);
double doubleMax = Double.MAX_VALUE;//1.7976931348623157E308
double doubleMin = Double.MIN_VALUE;//4.9E-324
System.out.println("double类型的最大值是:"+doubleMax);
System.out.println("double类型的最小值是:"+doubleMin);
//布尔型boolean true真 false假
boolean b1 = true;
boolean b2 = false;
//字符型char
char c1 = 'a';//可以保存一个字符
char c2 = 128;//可以保存一个数字
char c3 = '中';//可以保存一个汉字
System.out.println(c1);//a
//char类型可以存数字,但是在打印时,会去查ASCII码表,把数字对应的字符拿出来使用
//ASCII码表里只规定了数字0-127对应的字符,128-65535默认按照字符?来处理
System.out.println(c2);//a
System.out.println(c3);//中 
    }
}

2.1.3练习3:求圆形的面积

需求:求出指定半径圆的面积
公式:圆的面积:π*r*r
创建类: Test3_CircleArea.java
package cn.mbh.basic;

import java.util.Scanner;

/**求出指定半径圆的面积*/
public class Test3_CircleArea {

	public static void main(String[] args) {
		//公式:圆的面积:π*r*r
		//1.固定半径值
		double r = 5.5;//半径r值是写死的,直接求值
		System.out.println("当半径为"+r+"时,圆的面积为:"+(3.14*r*r));
		
		//2.半径值变化,动态接收用户输入的值
		//1)提示用户输入半径的值
		System.out.println("请输入你的半径值:");
		//2)接收用户输入的半径值
		double r1 = new Scanner(System.in).nextDouble();
		//3)根据半径值计算圆的面积
		double circleArea = 3.14*r1*r1;
		//4)讲结果打印到控制台
		System.out.println("当半径为"+r+"时,圆的面积为:"+circleArea);
		
		
	}

}

2.1.4练习4:变量交换

需求: 接收用户输入的两个值:假设 a=1,b=2,并将这两个变量的值进行互换
创建类: Test4_ValueExchage.java
package cn.mbh.basic;

import java.util.Scanner;

/**接收用户输入的两个值:假设a=1,b=2,并将这两个变量的值进行互换*/
public class Test4_ValueExchage {

	public static void main(String[] args) {
		//1.提示并接收用户输入的两个值
		System.out.println("请输入a的值:");
		int a = new Scanner(System.in).nextInt();
		
		System.out.println("请输入b的值:");
		int b = new Scanner(System.in).nextInt();
		//2.交换a b 两个值
		int t;//定义用于值交换的第三变量 t
		t = a;//把a的值交给t来保存
		a = b;//把b的值交给a来保存
		b = t;//把t的值交给b来保存
		//3.把交换后的两个值打印在控制台
		System.out.println("交换后,a的值是:"+a);
		System.out.println("交换后,b的值是:"+b);
	}

}

2.2 引用类型

.......

三、基本类型的字面值

3.1整数字面值是int类型

int x = 99999;//对,右面数据的字面值是 int 类型
int x = 99999999999;//错,右面数据的字面值是 int 类型,但是已经超出 int 的取值范围。

3.2byte,short,char 三种比 int 小的整数可以用范围内的值直接赋值

byte b1=127;//对,
byte b2=128;//错,超出 byte 范围

3.3浮点数的字面值是 double 类型

double r =3.14;//对
float r =3.14;//错,右面的数据字面值是 double,float 是 4 字节存不下 double 类型的数据

3.4字面值后缀 L D F

long x =99999999999L;// 99999999999 字面值是 int 类型,需转成 long 类型的数据,加字面值后缀 L 即可
float b = 3.0F;//3.0 字面值是 double 类型,加后缀 F 会变成 float 类型
double d = 3D;//3 字面值是 int 类型,加后缀 D,会变成 double 类型

3.5进制前缀

0b - 标识这是 2 进制 ,如:0b0101

0 - 标识这是 8 进制, 8 进制是三位,如: 023
0x - 标识这是 16 进制,如: 0x0001
\u -标识这是 char 类型,属于 16 进制,默认值是\u0000

四、基本类型的类型转换

4.1 小到大/隐式转换

// 小转大 / 隐式转换
byte m = 10;
long n = m;// 小转大,右面的 m 是小类型,给左面的 n 大类型赋值,可以直接使用

4.2 大到小/显示转换

需要强制类型转换
// 大转小 / 显示转换
float x = 9.9F;
// 大转小,右面 x 是大类型,给左面 y 小类型赋值,不可以直接赋值。需要添加强转的代码(小类型)
int y = (int)x ;
数据类型转换的一些规则:
1.小的类型能够自动转化为大的类型
        例如:byte b = 120; int i = b; -->可以执行
        float f = 3.2f; double d = f; -->可以执行
2.容量大的类型转换为容量小的类型时必须使用强制类型转换。
1) 转换过程中可能导致溢出或损失精度
        例如:int i =128; byte b = (byte)i; //打印的结果是-128
        因为 byte 类型是 8 位,最大值为 127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
2) 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
        例如:float f = 32.7f; int a2 =(int) f; //打印的结果是 32
3) 不能对 boolean 类型进行类型转换。

4.3 记忆口诀:

 

五、拓展补充:

5.1 关键字作用一览表

用于定义数据类型的关键字
classinterfacebyteshortintlong
floatdoublecharbooleanvoidenum
用于定义数据类型值的关键字
true
falsenull
用于定义流程控制的关键字
if
elseswitchcasedefaultwhile 
doforbreakcontinuereturn
用于定义访问权限修饰符的关键字
private
protectedpublic
用于定义类、函数、变量修饰符的关键字
abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字
extends
implements
用于定义建立实例、判断实例的关键字
newthissuperinstanceof
用于异常处理的关键字
trycatchfinallythrowthrows
用于包的关键字
packageimport
其他修饰符关键字
nativestrictfptransientvolatileassert

5.2 标识符命名风格

1) 【强制】标识符命名均不能以数字开头,而且下划线或美元符号开始,也不能以下划线或美元符号结束
错误案例:1name/_name / name_ / $name / name $
2) 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。
注意,即使纯拼音命名方式也要避免采用。
正确案例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。
错误案例:DaZheModule [打折模块] / getPingfenByName() [评分]
3) 【强制】类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO /
PO / UID 等。
正确案例:MarcoPolo / UserDO / XmlService / TcpUdpDemo
错误案例:macroPolo / UserDo / XMLService / TCPUDPDeal

5.3 ASCII 编码表

ASCII (American Standard Code for Information Interchange)编码表,美国标准信息交换代码。
在计算机中,所有的数据在存储和运算时都要使用二进制数表示。
a、b、c、d 这样的 52 个字母(包括大写)、以及 0、1 等数字还有一些常用的符号, 在计算机中存储时也要使用二 进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家 如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则。 于是美国有关的标准化组织就出台了 ASCII 编码,统一规定了上述常用符号用哪些二进制数来表示。
中国 gb2312 【字少】 gbk 【识别 4 + 汉字】 万国码表 unicode ISO 制定】
所有码表都兼容 ASCALL
:ASCII 码表

 5.4 补充-eclipse 中新建类添加作者与时间信息

在企业级产品开发中, 对注释的要求取决于项目的规模和团队的正规化程度。 对于一个专业的软件开发人员来说, 对 javadoc 的使用程序有时候直接决定这在项目中 的角色, 也会影响面试的结果和薪水的水平, 因为它能够反映开发人员参与过项目的 规模, 以及之前躲在团队的专业化程度。 所以对注释的重视也是一个专业团队必不可少的一部分。
补充: eclipse 中设置作者等信息
点击 Windows->Preferences->Java->Code Style->Code Templates, 再点击展开右侧的
Code 选项卡, 选择“New Java files” , 点击最右侧的 Edit 按钮进行编辑:

编辑页面如下所示, 我们就可以添加内容了, 此处添加了作者和时间:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值