Java程序设计--第2章 Java程序设计基础

Java程序设计–第2章 Java程序设计基础

2.1 标识符和关键字

​ 一般地,在Java中标识符是以字母、下划线(_)、美元符号($)等开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符,不能包括运算符和一些特殊字符,如#、*等。

​ 一些合法的标识符:Body、test,$hello

​ Java不允许对关键字赋予别的含义。所有的关键字都是小写的,如果被大写,就不是关键字了。

​ 注释 //、 /* /、/* * */

2.2 常量和变量

​ [修饰符]<类型名><变量名> = <初值>[,<变量名>[=<初值>]…]

​ 例如:int i;

​ piblic int j=5,k=4;

2.3 基本数据类型

在这里插入图片描述

布尔型数据类型用关键字boolean表示
只有true和false两个值,例如: boolean b=false;

字符类型变量char表示,在Java虚拟机中一般用16位表示一个char值,范围为0~65535。字符型变量定义格式如下:

char  c,  c1=‘a’;

Java的字符型数据不同于整数,但是可以和整数在一起运算

int i=20000;
char one=’1’;
int j=’a’;  //由字符向整数,自动类型转换
char c=(char)(i+one+j);

Java提供了转义字符,以反斜杠(\)开头

整数数据类型

十进制:用0~9的数表示,首位不能为0,
例如:124,-100;
八进制:以0开头,后跟多个0~7之间的数字,
如0134;
十六进制:以0x或者0X开头,后跟多个09之间的数字、或AF之间字母的大小写形式。af或者A-F分别表示1015,
例如,0x23FE,等于十进制数9214。
二进制:以0b或者0B开头,后跟多个0~1之间的数字。

数据类型的表示范围

数据类型所占位数数的范围
byte8-27 ~(27 -1)
short16-215 ~(215 -1)
int32-231 ~(231 -1)
long64-263 ~(263-1)

一个整数数字隐含为int型,在表示long型常量时,需要在数字后面加上后缀L或者l。

浮点类型

标准计数法:由整数部分、小数点和小数部分组成,
如2.0,345.789。
科学计数法:由十进制数、小数点、小数和指数构成,指数部分由字母E或e跟上正负号的整数表示,
例如,345.789,可以表示成3.45789E+2;

数据类型所占位数数的范围
float(单精度浮点数)323.4e-038 ~3.4e+038
double(双精度浮点数)641.7e-308 ~ 1.7e+308

在一个浮点数后加字母F或f,表示float型。

各类型数据间的相互转换

自动类型转换

从低到高
byte,short,char,int,long,float,double

强制类型转换

   int    i=65;
   char   c;
   c=(char)i; 
2.5 符号运算

大多和其他编程语言相似

运算符的注意事项

自增、自减运算符有前缀和后缀两种形式,
先运算后使用
先使用后运算
“%”(求模运算符)的操作数可为浮点数

​ 如52.3%10=2.3;

对"+"运算进行了扩展,可作字符串连接运算符

​ 如"ab"+“efd"得"abefd”

做"+"运算时,如果一个操作数是字符串,其它操作数自动转换成字符串.

​ 如: String s; s=“s:”+6*5;

赋值相容

如果变量的类型和表达式的类型是相同的,就可以赋值,称为类型相同;

如果两者类型不同,并且变量类型比表达式类型长时,系统会自动将表达式的结果转换为较长的类型。如int 转换为long,这时也可以赋值,称为赋值相容;

赋值不兼容时,可以使用强制类型转换,其格式如下:
(<目标类型>)<表达式>
例如:
int i=(int)123123123123L; //强制类型转换

条件运算符

​ (boolean_expr)?true_statement:false_atatement;

​ 例如:int result=sum==0?100:2*num;

位运算符(补码形式) &、|、~、^、<<、>>、>>>

关系运算符 ==、!=、<、>、<=、>=

逻辑运算,也叫布尔运算符,只能处理布尔类型的数据,所得结果也是布尔值。&&、||、!

表达式 运算符和操作数组合的符号序列(优先级和结合性)

2.6 程序控制语句
if语句
if(condition)
	statement1;
else
	statement2;
多路分支

表达式expression的计算结果必须为byte、short、int、char、字符串或者enum类型,每个case语句后的值value必须是与expression类型兼容的一个常量。重复的case值是不允许的。

switch(expression){
case value1:
	...//语句序列
	break;
case value2:
	...//语句序列
	break;
case valueN:
	...//语句序列
	break;
default:
	...//缺省语句序列
}
while与do-while
while(...){
	...
}
或者
do{
	...
}while(...);
for语句
for(initialization;condition;iteration){
	//循环体
	...
}
break语句

​ 终止循环、跳转

//终止循环
public static void main(String args[]){
	for(int i=0;i<100;i++){
	if(i == 5)break;//如果i等于5,终止循环
		System.out.println("i:"+i);
	}
	System.out.println("Loop complete.");
}
//跳转
boolean t = true;
first:{
	second:{
		third:{
			System.out.println("Before the break.");
			if(t)
				break second;
			System.out.println("This won't execute");
		}
		System.out.println("This won't execute");
	}
	System.out.println("This won't execute");
}
continue语句

​ 强迫一次循环提前结束而进行下一次循环、跳转

public static void main(String args[])
{
	for(int i=1;i<20;i++){
		System.out.print(i+" ");
		if(i%5!=0)
			continue;
		System.out.println(" ");
	}
}
outer:for(int i=1;i<10;i++){
	for(int j=1;j<10;j++){
		if(j<i){
			System.out.println();
			continue outer;
		}
		System.out.print(" "+(i*j));
	}
}
Syetem.out.println();

//程序结果
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

实用案例【计算斐波那契(Fibonacci)数列】
public static void main(String[] args){
	long f1,f2,f3,n=50;
	f1=f2=1;
	syetem.out.print(f1+" "+f2+" ");
	for(int i=3;i<=n;i++)
	{
		f3=f1+f2;
		f1=f2;
		f2=f3;
		System.out.print(f3+" ");
		if(i%10==0)
		{
			Syetem.out.println();
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值