天天看点

Java笔记02-Java语法基础01

1:关键字(掌握)

(1)被Java语言赋予特定含义的单词

(2)特点:

全部小写。

(3)注意事项:

A:goto和const作为保留字存在,也不能当标识符使用

B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记

2:标识符(掌握)

     (1)标识符就是给类,接口,方法,变量等起名字的字符序列

(2)组成规则:

A:英文大小写字母

B:数字

C:$和_

(3)注意事项:

A:不能以数字开头

B:不能是java中的关键字

C:严格区分大小写

(4)常见的命名规则(见名知意) ---从开始就按此标准写,以后进了公司将很快适应公司的编写规定

A:包 全部小写

单级包:小写

举例:test,  bin

多级包:小写,并用.隔开

举例:cn.itcast,com.baidu

B:类或者接口

一个单词:首字母大写

举例:Student,Demo

多个单词:每个单词首字母大写

举例:HelloWorld,StudentName

C:方法或者变量

一个单词:首字母小写

举例:name,main

多个单词:从第二个单词开始,每个单词首字母大写

举例:studentAge,showAllNames()

D:常量

全部大写

一个单词:大写

举例:PI

多个单词:大写,并用_隔开

举例:STUDENT_MAX_AGE

(2)组成规则:

A:英文大小写字母

B:数字

C:$和_

(3)注意事项:

A:不能以数字开头

B:不能是java中的关键字

C:区分大小写

(4)常见的命名规则(见名知意)

A:包 全部小写

单级包:小写

举例:liuyi,com

多级包:小写,并用.隔开

举例:cn.itcast,com.baidu

B:类或者接口

一个单词:首字母大写

举例:Student,Demo

多个单词:每个单词首字母大写

举例:HelloWorld,StudentName

C:方法或者变量

一个单词:首字母小写

举例:name,main

多个单词:从第二个单词开始,每个单词首字母大写

举例:studentAge,showAllNames()

D:常量

全部大写

一个单词:大写

举例:PI

多个单词:大写,并用_隔开

举例:STUDENT_MAX_AGE

3:注释(必须掌握)-前面已讲,在此再复习一下.

(1)就是对程序进行解释说明的一段文字, 注释是给人看的, 注释在编译时将被忽略.

(2)分类:

A:单行注释 //

B:多行注释

C:文档注释(后面讲)

(3)把HelloWorld案例写了一个带注释的版本。

后面我们要写一个程序的过程。

需求:

分析:

实现:

代码体现:

(4)注释的作用

A:解释说明程序,提高了代码的阅读性。

B:可以帮助我们调试程序。

后面我们会讲解一个更高端的一个调试工具

4:常量(掌握)

(1)在程序执行的过程中,其值不会发生改变的量

(2)分类:

A:字面值常量

B:自定义常量(后面讲)

(3)字面值常量

A:字符串常量 "hello"

B:整数常量 12,23

C:小数常量 12.345

D:字符常量 'a','A','0'

E:布尔常量 true,false

F:空常量 null(后面讲)

(4)在Java中针对整数常量提供了四种表现形式

A:二进制 由0,1组成。以0b开头。

B:八进制 由0,1,...7组成。以0开头。

C:十进制 由0,1,...9组成。整数默认是十进制。

D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

class ConstDemo {
	public static void main(String[] args) {
		//字符串常量的输出
		System.out.println("HelloWorld");
		
		//整数常量的输出
		System.out.println(10);
		
		//小数常量的输出
		System.out.println(3.14);
		
		//字符常量的输出
		System.out.println('a');
		System.out.println('B');
		System.out.println('0');
           
//这个有问题, 一个单引号里不允许有两个字符
		//System.out.println('ab');
		
		//布尔常量的输出
		System.out.println(true);
		System.out.println(false);
	}
}
           

5:进制转换(了解)

(1)其他进制到十进制

系数:就是每一个位上的数值

基数:x进制的基数就是x

权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。

结果:系数*基数^权次幂   之和。

(2)十进制到其他进制

除基取余,直到商为0,余数反转。

(3)进制转换的快速转换法

A:十进制和二进制间的转换

8421码。

B:二进制到八进制,十六进制的转换

<span style="font-size:18px;">class JinDemo {
	public static void main(String[] args) {
		System.out.println(100); //十进制
		
		System.out.println(0b100); //二进制   以0b 开头
		System.out.println(0100); //八进制    以0  开</span><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif;">头</span><span style="font-size:18px;">
		System.out.println(0x100); //十六进制 以0x  开头</span>
           
<span style="font-size:18px;">
	}
}</span>
           

6:变量(掌握)

(1)在程序的执行过程中,其值在某个范围内可以发生改变的量

(2)变量的定义格式:

A:数据类型 变量名 = 初始化值;

B:数据类型 变量名;

 变量名 = 初始化值;

<span style="white-space:pre">		</span>//定义变量
		int x = 100;
		
		//错误,不能有同名的
		//int x = 200;
		
		//定义变量必须给值
		//int y;
		//System.out.println(y);
           
<span style="white-space:pre">		</span><pre name="code" class="java">class VarDemo {
	public static void main(String[] args) {
		//定义变量的格式:数据类型 变量名 = 初始化值;
		
		//定义一个字节变量
		byte b = 10;
		System.out.println(10);
		System.out.println(b);
		
		//定义一个短整型变量
		short s = 100;
		System.out.println(s);
		
		//定义一个整型变量
		int i = 1000;
		System.out.println(i);
		
		//超过了int的范围
		//int j = 1000000000000;
		long j = 1000000000000L;
		//long j = 100L;
		System.out.println(j);
		
		//定义浮点数据变量
		float f = 12.345F;
		System.out.println(f);
		
		double d = 12.345;
		System.out.println(d);
		
		//定义字符变量
		char ch = 'a';
		System.out.println(ch);
		
		//定义布尔变量
		boolean flag = true;
		System.out.println(flag);
	}
}
           

7:数据类型(掌握)

(1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

(2)分类:

A:基本数据类型:4类8种

B:引用数据类型:类,接口,数组。

(3)基本数据类型

A:整数 占用字节数

byte 1

short 2

int 4

long 8

B:浮点数

float 4

double 8

C:字符

char 2

D:布尔

boolean 1

注意:

整数默认是int类型,浮点数默认是double。

长整数要加L或者l。

单精度的浮点数要加F或者f。

8:数据类型转换(掌握)

(1)boolean类型不参与转换

(2)默认转换

A:从小到大

B:byte,short,char -- int -- long -- float -- double

C:byte,short,char之间不相互转换,直接转成int类型参与运算。

(3)强制转换

A:从大到小

B:可能会有精度的损失,一般不建议这样使用。

C:格式:

目标数据类型 变量名 = (目标数据类型) (被转换的数据);

(4)思考题和面试题:

A:下面两种方式有区别吗?

float f1 = 12.345f;

float f2 = (float)12.345;

<span style="white-space:pre">	</span>class DataTypeDemo {
	<span style="white-space:pre">	</span>public static void main(String[] args) {
		<span style="white-space:pre">	</span>//把double赋值给float,加了强制类型转换
		<span style="white-space:pre">	</span>double d = 12.345;
		<span style="white-space:pre">	</span>float f = (float)d;
		
		<span style="white-space:pre">	</span>//看看下面两个定义有没有区别呢?
		<span style="white-space:pre">	</span>float f1 = (float)12.345;  //从double 强制转换为float 
		<span style="white-space:pre">	</span>float f2 = 12.345F;        //本身就是float类型.
	<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}
           

B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;  //此句有问题, 不能将int 转换为 byte. b1 b2是变量,相加之后可能会超过byte的取值范围

byte b4 = 3 + 4;

C:下面的操作结果是什么呢?

byte b = (byte)130;

D:字符参与运算

是查找ASCII里面的值

'a' 97

'A' 65

'0' 48

System.out.println('a');

System.out.println('a' + 1);

E:字符串参与运算

System.out.println("hello"+'a'+1);

System.out.println('a'+1+"hello");

System.out.println("5+5="+5+5);

System.out.println(5+5+"=5+5");

               总结:  字符串数据和其他数据做+,结果是字符串类型。

这里的 + 不是加法运算,而是字符串连接符。

继续阅读