Java学习2——书本自学

第三章        Java语言基础

3.1数据类型

数据是程序必不可少的部分,也是程序的处理对象。不同的数据有不同的数据类型,不同的数据类型有不同的数据结构、不同的存储方式,并且参与的运算也不同。因此计算机将数据按照性质的不同而分类。

1.整型

整数有正整数、零、负整数,其含义与数学中的含义相同。Java语言的整数有三种进制的表示形式。

十进制;八进制;十六进制。

2.浮点型

Java语言用浮点型表示数学中的实数,也就是说既有整数部分又有小数部分的数。浮点型有两种表示方法。

标准计数法:由整数部分、小数点和小数部分构成;

科学计数法:由十进制小数、小数点和指数部分构成,指数部分由字母E或e带上正负号的整数表示。

Java语言的浮点数有单精度浮点数和双精度浮点数两种。

3.布尔型

布尔型也称为逻辑型,用来表示逻辑,它只有true和false两个取值。

4.字符型

字符型用来存储单个字符。Java语言中的字符采用的是Unicode字符集编码方案,在内存内占用两个字节,是16位无符号的整数,一共有65536个,前缀“\u”表示Unicode字符。由于此种新方案的实行,Java处理多语种的能力也大为加强。

Java语言的基本数据类型关键字:boolean  byte  short  int  long  float  double  char

3.2 关键字与标识符

1.关键字

关键字是Java语言中被赋予特定含义的一些单词,它们在程序中有着不同的用途。Java关键字如下:abstract  assert  bollean  break  byte  case  catch  char  class  continue  default  do  double  else  enum  extends  false  final  finally  float  for if  implements  import  intandceof  int   interface  long  native  new  null  package  private  protected  public  return  short  static  super  switch  synchronized  this  throw  throws  transient  true  try  void  volatile while 

2.标识符

标识符是用来表示变狼名、类名、方法名、数组名和文件名的有效字符序列。需要遵循如下的规定:

1)标识符可以由字母、数字和下划线、美元符号等组合组成;

2)标识符必须以字母、下划线或美元符号开头,不能以数字开头。

一般情况下又有编码习惯:如类名的首字母大写;变量、方法及对象的首字母小写,常量的所有字母都大写。

3.3 常量

常量存储的是在程序中不能被修改的固定值。

1.整型常量

整型常量可以用来给整型变量赋值,整型常量可以采用十进制、八进制或十六进制表示。

2.浮点型常量

浮点型常量表示的是可以含有小数部分的数值常量。根据占用内存长度的不同,可以分为一般浮点常量和双精度浮点常量两种。单精度常量的后面跟着一个字母f或F,双精度常量后跟一个字母d或D。

3.布尔型常量

也称逻辑型常量,包括true和false,包括真和假。

4.字符型常量

字符型常量是用一对单引号括起的单个字符。

5.字符串常量

字符串常量是用双引号引起来的一串若干个字符。

6.常量的声明

常量的声明与变量的声明形式基本一样,只需用关键字final标识,通常final写在最前面。如:

final int MAX=10;

final float PI=3.14f;

使用常量的好处,一是增加可读性,二是增加可维护性。

3.4 变量

变量是先声明,后使用的量。

1.变量声明

类型 变量名 【=初值】【,变量名=初值】...】;

2.变量的赋值

使用赋值语句。

3.5 数据类型转换

Java语言的数据类型在定义时就已经决定,因此不能随意转换成其他的数据类型,但是Java语言容许用户有限度地做类型转换处理,即数据类型转换。

1.数值型不同类型数据的转换

数值型数据类型转换分为自动类型给转换和强制类型转换两种。凡是把占用比特位数较少的数据转换成占用比特位数较多的数据,都使用自动类型转换,即类型转换由编译系统自动完成,不需要程序做特别说明。但如果把长的数据转换成短的数据,就需要使用强制类型转换。

2.字符串型数据与整型数据相互转换

1)将字符串转换成数值型数据

均使用Byte、Short等类提供的parseXXX()方法完成。

2)数值型数据转换成字符串

可以使用+号进行强制转换。

int myInt=1234;

String myString=""+myInt;

3.6 由键盘输入数据

1.数据输入方式1

//filename:App3_3.java
import java.io.*; 
public class App3_3
{
	public static void main(String[] args) throws IOException
	{
		BufferedReader buf;
		String str;
		buf=new BufferedReader(new InputStreamReader(System.in));
		System.out.print("Please input :"); 
		str=buf.readLine();
		System.out.println("Your input is "+str);

	}
}

2.数据输入方式2

为了简化输入操作,从Java SE5版本开始加入了专门用于输入的类Scanner,可以使用该类创建一个对象。

//filename: App3_6.java
import java.util.*;
public class App3_6
{
	public static void main(String[] args)
	{
		int num1;
		double num2;
		Scanner reader=new Scanner(System.in);
		System.out.print("Please input the first num:");
		num1=reader.nextInt();
		System.out.print("Input the second number:");
		num2=reader.nextDouble();
		System.out.println(num1+"*"+num2+"="+((float)num1*num2));
		
	}

3.7 运算符与表达式

子啊程序设计中经常要进行各种运算,从而达到改变变量值的目的。而要实现运算,就要使用运算符。

算术运算符包括+、-、*、/、%、++、--;

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

逻辑运算符包括!、&&、||、&、|

位运算符包括<<、>>、>>>、&、|、^、~

赋值运算符保罗=

扩展运算符+=、/=

条件运算符包括?:

其他运算符包括分量运算符、下标运算符[]、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符()等。

第四章   流程控制

流程就是各语句的执行顺序,流程控制语句就是用来控制语句程序中各语句执行顺序的语句。

4.1 语句与复合语句

Java语句就是计算机完成各种特定运算及操作指令,一条语句执行完后再执行另一条语句。语句可以是分号结尾的简单句,也可以是用一对大括号括起来的复合句。最简单的语句方法是调用语句和赋值语句。Java复合语句与C++复合语句的不同之处是:Java语言不允许在两个嵌套的复合语句内声明同名的变量。

单行注释://

多行注释:/*开头*/结尾

文件注释:文件注释是Java语言所特有的文档注释,它以/**开头,以*/结尾。这种注释重要用于描述类、数据和方法。

4.2 顺序结构

顺序结构是最简单的流程控制结构,顺序结构的程序就是从上往下一行一行执行的结构,中间没有判断和跳转,直到程序结束。

4.3 分支结构

分支结构又称为选择结构,是一种在两种以上的多条执行路径中选择一条执行的控制结构,这里所说的执行路径是指一组语句。

4.3.1 if条件语句

if语句是Java程序中最常见的分支结构。该结构给出两种可能的执行路径做选择,分支前的判断为条件表达式,简称为条件,它是一个逻辑型量关系表达式或逻辑表达式,根据这个表达式条件的值是真或假来决定选择哪个分支来执行。

if(条件表达式)

{

语句序列1

}

else

{

语句序列2

}

//filename:App4_1.java   the application of if sentence 
public class App4_1
{
	public static void main(String[] args)
	{
		int a=1,b=2,c=3,max,min;
		if (a>b)
			max=a;
		else 
			max=b;
		if (c>max)
			max=c;
		System.out.println("Max="+max);
		min=a<b?a:b;
		min=c<min?c:min;
		System.out.println("Min="+min);
	}
}

4.3.2 switch选择语句

子啊多重条件选择的情况下,可以使用if...else...结构来实现其功能,但是,使用多分支开关语句会使程序更为简练、清晰。switch就是多重分支开关语句。switch选择语句的格式如下:

switch(表达式)

{

casa 常量表达式1:

语句序列1;

break;

case 常量表达式2;

语句序列2;

break;

.

.

.

case 常量表达式n;

语句序列n;

break;

default:

语句序列n+1;

}

switch语句在执行时,先计算小括号中“表达式”的值,这个值必须是整型或字符型看,同时应该与多个case分支后面的常量表达式的数据类型一致。其中,break是流程跳出语句。

//filename:App4_3.java
public class App4_3 
{
	public static void main(String[] args) throws Exception
	{
		int a=100,b=6;
		char oper;
		System.out.println("Please input the operator:");
		oper=(char)System.in.read();
		switch(oper)
		{
		case '+':
			System.out.println(a+"+"+b+"="+(a+b));
			break;
		case '-':
			System.out.println(a+"-"+b+"="+(a-b));
			break;
		case '*':
			System.out.println(a+"*"+b+"="+(a*b));
			break;
		case '/':
			System.out.println(a+"/"+b+"="+((float)a/b));
			break;
		default:
			System.out.println("Incorrect operator!");
		}
	}
}

4.4 循环结构

4.4.1 while语句

循环结构是在一定条件下,反复执行某段程序的控制结构。被反复执行的语句被称为循环体。Java语言中共有三种:while语句、do-while语句和for语句。

while语句是循环语句,也是条件判断语句。while语句的一般语法结构如下:

while(条件表达式)

{

循环体

}

循环体可以是单个语句,也可以是复合语句。

//filename:App4_5.java
public class App4_5
{
	public static void main(String[] args)
	{
		final int MAX=15;
		int i=0,j=1,k=1;
		while(k<=MAX)
		{
			System.out.print(" "+i+" "+j);
			i=i+j;
			j=i+j;
			k=k+2;
		}
		System.out.println();
	}
}

4.4.2 do-while语句

do-while语句的结构一般如下:

do

{

循环体

}

while(条件表达式);

与while的区别在于无条件地先执行一遍语句。另外就是do-whilez语句在结尾处加了一个分号。

//filename: App4_8.java
import java.util.*;
public class App4_8
{
	public static void main(String[] args)
	{
		int n,i=1,sum=0;
		Scanner buf= new Scanner(System.in);
		do {
			System.out.print("Please enter a positive integer:");
			n=buf.nextInt();
			
		}while(n<=0);
		while(i<=n)
			sum+=i++;
		System.out.println("1+2+..."+n+"="+sum);
		
	}
}

 4.4.3 for循环语句

for语句是Java语言三个循环语句中功能较强、使用较广泛的一个。

for循环的基本格式如下;

for(表达式1;条件表达式;表达式2)

{

循环体

}

其中“|表达式1”是用作初始化的表达式,完成初始化循环变量和其他变量的工作;“条件表达式”返回值为逻辑型量,用来判断循环是否继续;“表达式2”是循环后的操作表达式,用来修改循环变量,改变循环条件。

//filename:App4_11.java
public class App4_11
{
	public static void main(String[] args)
	{
		int i,n=10,s=0;
		for(i=1;i<=n;n--)
		{
			s=s+i;
			System.out.println("Sum=1+2+...+"+n+"="+s);
			s=0;
			System.out.println("Sum=");
			for(i=n;i>1;i--)
			{
				s+=i;
				System.out.print(i+"+");
				
			}
			System.out.println(i+"="+(s+i));
		}
	}
}

4.4.4 多重循环

多重循环循环体内又有循环,则称为多重循环,也称为循环嵌套。常用的有二重循环和三重循环。4.5 循环中的跳转语句

4.5.1 break语句

break语句的作用是使程序从switch语句的分支中跳出,或从循环内部跳出,并将控制权交给分支语句或循环语句后面的语句。

4.5.2 continue语句

continue的作用是终止当前这一轮的循环,跳过本轮循环的剩余语句,直接进入下一轮循环。

4.5.3 return语句

return语句是使程序从方法中返回,并为方法返回一个值。如果return语句未出现在方法中,则执行完方法的最后一句后自动返回主程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王辞夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值