Java基础语法【二】

Java基础语法【二】

第一节 标识符

1.1概念

	Java对包、类方法、参数和变量等要素命名时,使用的字符序列成为标识符。

1.2 标识符的命名规则

	1. 由字母(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。
	2. 不能以数字开头。
	3. 区分大小写。
	4. 长度无限制。(一般不要超过15个字符)
	5. 不能是Java中的保留字和关键字。

1.3 标识符命名习惯

	1. 标识符命名习惯:见名知意。
	2. 变量名,方法名,参数名: 首字母小写,如果多个单词组成,第一个单词首字母小写,剩下的单词首字母大写(驼峰式命名法)。
	3. 类名:单词首字母大写,多个单词组成每个单词首字母大写(帕斯卡命名法)。
合法的标识符:
			HelloWorld
非法的标识符:
			Hello World

1.4 关键字保留字

关键字:
		Java中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword),全部为小写。
保留字:
		没有定义用途,但保留备用。

第二节 常量、变量

2.1 常量

	概念:
		常量就是常见的数据(也称为数据常量),是程序运行中固定不变的数据。
	整型常量(int):
		123 、100、200、250、500 int  ```
	Java语言整型的三种表示形式: 
		十进制整数:如12, -314, 0,8,7。 
		八进制整数:要求以0开头,如0127表示八进制的127 。
		十六进制数:要求0x或0X开头,如0x1df3。
	浮点数常量(小数) :
		3.14 float ...
	字符常量:
		’a’ char
	 布尔(逻辑)常量:
	 	true、false boolean
	字符串String常量:
		"a"、"abc"、"hello world", ""
	null常量:
		表示的引用为空对象

2.2 变量

概念:
	变量就是保存程序执行中的数据的一块存储空间,可以变化的数据。
	变量其实是内存中的一块存储区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用,变量中存储的数据就是常量。
如:
	 楼		            --->   	变量
	 楼的名称		    --->   	变量名
	 楼的类型		    --->   	变量类型
	 楼中的人们	      	--->   	变量值

2.2 变量的初始化和声明

变量声明的格式:
	 		 1. 先声明,再赋值(初始化)
			 	数据类型  变量名; 
			 	变量名 = 变量值;
			 	举例:
					 	int i; 
					 	i = 100;
			 2. 声明同时赋值
			 	数据类型  变量名 = 变量值;
			 		int j = 20;

2.3 变量的分类

	1. 按所属的数据类型划分:
		  基本类型变量:持有原始值。(原始数据类型)。
		  引用类型变量:持有引用值。(某个对象的引用,不是该对象本身)String 字符串。
	2. 按被声明的位置划分:
		  局部变量:方法或语句块内部定义的变量。
		  成员变量:方法外部、类的内部定义的变量。

2.4 局部变量和成员变量的区别

	1. 声明的位置不同:
					 局部变量的作用域就是它所在的方法或语句块
					 成员变量的作用域是整个类体。
	2. 是否拥有默认值:
					 成员变量有默认值。
					 局部变量没有默认值。

第三节 数据类型

Java数据类型可分为两大类:
		基本数据类型和引用数据类型。
基本数据类型:
		byte、short、int、long、float、double、char、boolean
引用数据类型:
		类、接口、数组、枚举。

3.1 基本数据类型

	整数型---- byte(字节), short(短整型), int(整型), long(长整型)

	浮点型---- float(单精度浮点型), double(双精度浮点型)
	
	字符型---- char
	
	布尔型---- boolean

3.2 基本数据类型的存储

	Java中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,以保证Java程序的可移植性 。
		byte:  1个字节 ,范围 -128127
		short: 2个字节 ,范围 -3276832767
		int4个字节 
		long : 8个字节
		float: 4个字节 -3.40E+38 ~ +3.40E+38   有效位数7-8double:8个字节 -1.79E+308 ~ +1.79E+308  有效位数15-16char:  2个字节  0-65535   65536个字符
		boolean:不确定

3.3 整数型

	Java语言的整型数值默认为int型,如:int i = 6;
	要声明long型可以加‘l’或‘ L’,如:long  l = 6L;
	**注意**:在数值超过int的表述范围时(2147483647),需要加上l/L对long赋值.

3.4 浮点型

	float : 单精度浮点数(精度7,8位) 4个字节
	double: 双精度浮点数 (精度15,16)  8个字节
	
	Java浮点类型常量有两种表示形式
	十进制数形式,必须含有小数点,例如:
	3.14       314.0      0.314 
	科学记数法形式,如
	3.14e2      3.14E2      314E2 
	Java浮点型常量默认为double,如要声明一个常量为float型,则需在数字后面加f或F,如:
	double  d = 3.14; float  f = 3.14f;
	
	**注意**float double存储的数据都是近似值。

3.5 字符型

char型数据用来表示通常意义上“字符”
char c = 'A';  char c2= '好';
Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(Unicode是全球语言统一编码)
char  c1 = '\u0061';//相当于’a’
char c2=97;//ASCII美国标准信息交换码,相当于’a’
Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义:
char c2 = '\n'; 
转义字符分为:
		   \n	:换行,将光标移动到下一行的第一格。
		   \r	:回车,将光标移动到当前行的第一格。在命令行下会覆盖。
		   \t	:水平制表,将光标移动到下一个水平制表的位置。
		   \'	:单引号。
		   \"	:双引号。
		   \\	:斜杠。
//    \ 转义字符   可以将后面的n 转义成为 换行的操作
System.out.print("i的值= "+i+"\n");
System.out.print("y的值 = "+y);
System.out.print("f的值 = "+f);
System.out.println("c的值 = "+c);

// \t 水平制表符 
System.out.print("99\t98\t97\t96");
System.out.print("你好\"你好");
System.out.print("你好\\你好");

3.6 布尔类型

	boolean类型适于逻辑运算,一般用于程序流程控制 
	boolean类型数据只允许取值truefalse,不可以用0或非0的整数替代truefalseboolean  b = false;
	boolean  c = true;

3.7 Java数据类型总结

		数据类型			 大小		 数据范围
		byte(): 		 8-128~127
		short(短整数): 	 16-32768~32767
		int(证书)32-2147483647~2147483647
		long(长整数):   	 64-9223373036854775808~9223372036854775807
		float(单精度):    32-3.4E38~34E38
		double(双精度):   64-1.7E308~1.7E308
		char(字符):       160~65535
		boolean:    	 不确定       truefalse

3.8 基本数据类型的转换

	基本数据类型之间的转换分为以下两种:
		*自动类型转换
		*强制类型转换
		*boolean 类型不能转换成任何其它基本数据类型。

	2. 自动类型转换:数据类型取值范围小的转为取值范围大的
	    * byte ---> short--->int--->long--->float --->double
	    * char---> int
	    * byte,short,char三者在计算时会转换成int类型。
	    * int整型常量和字符常量在合理范围内可以直接赋值给 byteshortintchar
		* 如果一个操作数为double型,则整个表达式可提升为double型。
		
	3. 强制类型转换:数据类型取值范围大的 转为 取值范围小的. 需要加强制转换符,也就是(要转换的数据类型)。
	    long l = 100L;
		int i = (int)l;
	    但有可能造成精度降低或数据溢出,使用时要小心。
	    

第四节 运算符和表达式

4.1 运算符的分类

	1.算术运算符:+-*/%++--
	2.赋值运算符:=+=-=*=/=%=
	3.关系运算符:><>=<===!=
	4.逻辑运算符:!&|^&&||
	5.位运算符:&|^~>><<>>>
	6.字符串连接运算符:+
	7.三目运算符 ?:  

4.2 算数运算符

描述运算符运算符描述
+%求余、取模
-++自增
*自减
/
举例;
	int d = 5;
	System.out.println((d++));// 自身加1 
	System.out.println((d));// 自身加1
// --   放在前面是先自身减一  在参与运算
//     放后面   先参与运算   在自身减一

4.3 赋值运算符

运算符描述运算符描述
=赋值 比如:int i=10;/=除等于
+=加等于%=模等于
-=减等于
*=乘等于
	int  i = 34;
	//i = i + 45;
	i+=45;	
	i-=45;
	        
	// i = i -45;
	i*=45;
	i/=45;
	i%=45;		
	System.out.println("i= "+ i);

4.4 关系运算符

运算符描述运算符描述
==相等于<=小于等于
!=不等于>=大于等于
<小于
>大于
	boolean b = 3>=3; // 关系运算符 最终的结果都是boolean类型的
	boolean b2 = 3==2; // == 判断等号两边是否相等  如果相等就是true
	boolean b3 = 3!=2; // != 判断等号两边是否不等   如果不等就是true

4.5 逻辑运算符

概念:
	 逻辑运算符用于对boolean型数据进行运算,运算结果总是boolean型。
运算符描述运算符描述
&逻辑与&&短路与
|逻辑或||短路或
^异或
逻辑非
public static void main(String[] args){
		//&逻辑与  或
		System.out.println(true&true);
		System.out.println(true&false);
		System.out.println(true|true);
		System.out.println(true|false);
		System.out.println(!true);
		//异或  : 不相同为真,相同为假
		System.out.println("-------------------");
		System.out.println(true^false);
		System.out.println(true^true);
		System.out.println(false^false);
		// && 短路 与
		System.out.println("***************");
		int num1=10;
		int num2=5;
		boolean b=num1<num2 && num1++>100; //num1<num2  false
		System.out.println(b);
		System.out.println(num1);
		//|| 短路或 
		boolean b2=num1>num2 || num1++>100;
		System.out.println(b2);
		System.out.println(num1);		
	}

4.6 位运算符

运算符描述运算符描述
&按位与>>右移
|按位或<<左移
^按位异或>>>无符号右移
~按位取反

4.7 字符串连接符+

	如果字符串和基本数据类型变量、常量连接以后,结果变成了字符串。
	System.out.println("Hello"+"World!");
	System.out.println("Hello = "+ 5);// 字符串和基本数据类型变量 常量连接以后 都变成了 字符串
	System.out.println("Hello = "+ 5+ 8);
	System.out.println(5+"");

4.8 三目运算符

X ? Y : Z
X为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
//X ? Y : Z
// 1 X 必须是boolean类型表达式
// 2  Y Z 必须数据类型保持一致
	int score = 99;
	//boolean falg = score>80;
	String str = score > 80? "非常优秀" : "优秀";
	char c = '男';
	int i = c == '男'? 5 : (int)(4.0);
	//  y 和  z  最好是保持数据类型一致
	//  如果不一致  也必须保证 接收的  变量能够存储  y和  z的 数据类型
	System.out.println(i);
	// 需求: 大于90输出"非常优秀“,大于等于60”输出及格“,否则小于60输出”下个班见“
	String str2 = score > 90?"非常优秀":score >= 60?"及格":"下个班见";
	System.out.println(str2);

4.9 运算符的优先级

运算符结合性
[ ] . ( ) (方法调用)从左向右
! ~ ++ –从右向左
* / %从左向右
+ -从左向右
<< >> >>>从左向右
< <= > >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
|从左向右
&&从左向右
||从左向右
?:从右向左
=从右向左

4.10 表达式

表达式:符合一定语法规则的运算符和操作数的序列 
            i % 10
            a = 0 
		    a==0      
            5.0 + a      
            (a - b) * c - 4      
            i < 30 && i % 10 != 0 
表达式的值和类型
	* 对表达式中操作数进行运算得到的结果称为表达式的值。 
	* 表达式的值的数据类型即为表达式的类型。

第五节 Scanner的使用

//Scanner的使用
//1 先导入Scanner  import java.util.Scanner; 
//2 创建对象   Scanner input=new Scanner(System.in);
//3 接收键盘录入的数据

import java.util.Scanner;
public class Demo11{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		//接收字符串类型数据 next(),遇到空格截断 nextLine(); 遇到换行结束
		//String s = input.next();
		String s = input.nextLine();
		System.out.println(s);
		
		//接收整型数据 nextInt();
		int num =input.nextInt();
		System.out.println(num);
		//接收浮点数
		double d = input.nextDouble();
		System.out.println(d);
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值