Java第三章 运算符

一:Java主类结构

Java语言是面向对象语言,Java程序的基本组成单位是类,类体又包括属性与方法两部分,每一个应用程序都必须包含一个main( )方法,含有main( )方法的类称为主类。

创建主类并调用其主方法

Eclipse下依此创建项目item、包Number和类Frist,在类体中输入以下代码,实现在控制台输出“你好 java”。

package Number;
 
public class Frist {
	static String s1 = "您好";
	public static void main(String[] args) {
		String s2 ="java";
		System.out.println(s1);
		System.out.println(s2);
		
	}
 
}

运行结果如下:

Java第三章 运算符_第1张图片

 代码中的所有标点符号都是英文字符,不要在中文输入法状态下输入标点符号,如双引号和分号,否者会导致编译错误。

文件名必须和类名Frist相同,即Frist.java,还要注意大小写,java是区分大小写的。

1.包声明

一个Java应用程序是由若干个类组成的,上面的代码就是一个类名为Frist的类,语句package Number为声明该类所在的包,package为包的关键字。

2.声明成员变量和局部变量

通常将类的属性称为类的全局变量成员变量),将方法中的属性称为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。上面代码中s1是成员变量,s2是局部变量。

3.编写主方法

main( )方法是类体中的主方法。该方法从“ { ” 开始,至 “ } ”结束。public、staticvoid分别是main( )方法的权限修饰符、静态修饰符和返回值修饰符,java程序中的main( )方法必须声明为public static voidString[]args是一个字符串类型的数组,它是main( )方法的参数。main( )方法是程序开始执行的位置。

Java是严格区分大小写的,例如,不能将关键字class等同于Class

二、整数类型

整数类型简称整型,用来存储整数数值,即没有小数部分的数值。可以是正整数,也可以是负数。整型数据根据它所占内存大小的不同,可分为byte、short、int和long 4种类型。它们具有不同的取值范围。

Java第三章 运算符_第2张图片

 1.int型

(1)定义int变量有以下四种语法:

        int x;  //定义int型变量x
        int x,y;  //同时定义int型变量x,y;
        int x = 10,y = -5; //同时定义int型变量x,y;并赋予初值
        int x =5 + 23;  //定义int型变量x,并赋予公式(5+3)计算结果的初值

(2)int型是java整型值的默认数据类型。当多个尚未运行定义数据类型的整数做运算时,运算的结果将默认为int类型。例如,下面这行代码:

        System.out.println(2+18); //输出20

(3)等同于如下代码:

        int a = 2;
        int b = 18;
        int c = a+b;
        System.out.println(c);//输出20

2.byte型

byte型的定义方式与int相同。定义int型变量,代码如下:

        byte a;
        byte a,b,c;
        byte a = 19;b = -45;

3.short型

short型的定义方式与int相同。定义short型变量,代码如下:

        short s;
        short s,t,r;
        short s = 1000,t = -19;
        short s = 20000/10;

4.long型

由于long的取值范围比int型大,且属于高精度数据类型,所以在赋值时要和int型做出区分,需要在整数后面加上 L 或者 l (小写的 L)。定义long类型变量,代码如下:

        long number;
        long number,run;
        long number = 12345678L,run = -987654321L;
        long number = 123456789L*987654321L;

5.求整型类型的值

代码如下:

Java第三章 运算符_第3张图片

运行结果如下:

Java第三章 运算符_第4张图片

三、浮点类型

1:浮点类型简称浮点型,用来存储含有小数部分的数值。java语言中浮点类型分别为单精度浮点类型float)和双精度浮点类型double),它们具有不同的取值范围。

Java第三章 运算符_第5张图片

2:默认情况下,小数都被看作double型,若想使用float型小数,则需要在小数后面添加Ff。另外,可以使用后缀dD来明确表明这是一个double类型数据,但不加dD并没有硬性规定。而定义float型变量时,如果不加Ff,系统会认为是double类型数据,进而出错。定义浮点类型变量,代码如下:

        float f1 = 13.23f;
        double d1 = 4562.12d;
        double d2 = 45678.1564;

根据身高体重计算BMI指数

3:创建BMIexponent类,声明double型变量height来记录身高,单位为;声明int型变量weigt记录为体重,单位为千克;根据BMI=体重身高*身高)计算BMI指数。代码如下:

Java第三章 运算符_第6张图片

4:运行结果如下:

Java第三章 运算符_第7张图片

 三、字符类型
 1. char
字符型(char)用于储存单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符。但是's'则表示一个字符串,虽然只有一个字符,但由于使用单引号,它任然表示字符串,而不是字符。

使用char关键字可定义字符变量,其语法如下:

        char x = 'a';

2:由于字符aUnicode表中的排序位置是97,因此允许将上面的语句写成:

        char x = 97;

例,查看字符与Unicode码互相转换的结果

3:在项目中创建类Gess,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。Java第三章 运算符_第8张图片

4:运行结果如下:

Java第三章 运算符_第9张图片

5:String类型为字符串类型,可以用来保存由多个字符组成的文本内容,其用法与字符类型类似,但文本内容需要用双引号标注。

2.转义字符 
转义字符是一种特殊的字符变量,它以反斜杠“ \ ”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“ 转义 ”。例如,printf函数的格式串中用到的“ \n ”就是一个转义字符,意思就是“ 回车换行 ”。java中的转义字符表如下所示。Java第三章 运算符_第10张图片

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。

例,输出' \ '字符和' ★ '字符的Unicode码为2605

代码如下:

Java第三章 运算符_第11张图片

运行结果如下:

Java第三章 运算符_第12张图片

四、布尔类型 
布尔类型又称为逻辑类型,简称布尔型,通过关键字boolean来定义布尔类型变量。布尔类型只有truefalse两个值,分别代表布尔逻辑中的“ ”和“ ”。布尔值不能与整数类型进行交换。布尔类型通常被用在流程控制中,作为判断条件。定义布尔类型变量,代码如下:

        boolean b;              //定义布尔类型变量b
        boolean b1,b2;          //定义布尔类型变量b1、b2
        boolean b = true;       //定义布尔类型b,并赋值给初值true

例,布尔类型b1的值为true,b2的值为false

代码如下:

Java第三章 运算符_第13张图片

 运行结果如下:

Java第三章 运算符_第14张图片

五、标识符和关键字

1.标识符

标识符可以简单地理解为一个名字,是用来标识类名、变量名、主方法、数据名、文件名的有效字符顺序。

java语言规定标识符由任意的字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符不能是java中的关键字(保留字)。

下面是合法标识符

name
user_age
$papg

下面是非法标识符

4word
String
User name

java语言中,标识符中的字母是严格区分大小写的,如goodGood是不同的两个标识符。java语言使用Unicode标准字符集,最多可以标识65535个字符。因此,java语言中的字母不仅包括通常的拉丁文字a、b、c 等,还包括汉语、日语以及其他许多语言中的文字。

2.关键字

关键字又称保留字,是Java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用。

Java中的关键字如表所示

Java第三章 运算符_第15张图片

 3、声明变量

变量的使用是程序设计中一个十分重要的环节。声明变量就是要告诉编译器compiler)这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取了一个名字,称为变量名。变量的命名必须是合法的标识符。内存空间的价值就是变量值。在声明变量时可以是没有赋值,也可以直接赋给初值。

例如,声明一个整数类型变量和声明一个字符类型变量,代码如下:

int age;                //声明int型变量
char char1 = 'r';       //声明char型变量并赋值  

对于变量的命名并不是随意的,应遵循以下几条规则:

变量名必须是一个有效的标识符。

变量名不可以使用java中的关键字。

变量名不可以重复。

应选择有意义的单词作为变量名。

Java中允许使用汉字或其他语言文字作为变量名,如“ int 年龄 = 21 ”,在程序运行时不会出现错误,但建议读者不要使用这些语言文字作为变量名

4、声明常量

在程序运行中一直不会改变的量称为常量constant),通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。

Java语言中声明一个常量,除了要指定数据类型,还需要通过final关键字进行限定。声明常量的标准语法如下:

final 数据类型 常量名称 【 = 值  】

常量名称通常使用大写字母,但这并不是必须的。很多Java程序员使用大写字母表示常量,是为了清楚地表明正在使用常量。

例如,声明常量\pi程序中用PI表示),代码如下:

final double PI = 3.1415926D;    //声明double型常量PI并赋值

 当变量被final关键字修饰时,该变量就变成了常量,必须在定义时就设定它的初值,否则将会产生编译错误。从下面的实例中可看出变量与常量的区别。

例,尝试给常量赋值,观察是否会发生错误

在项目中创建类part,在类体中创建变量age常量PI。在主方法中分别将变量与常量赋值,通过输入信息可测试变量与常量的有效范围。

 
public final class part {                                  //新建类part
	//声明常量PI,此时如不对PI赋值,则会出现错误提示
	static final double PI =3.14;
	static int age = 23;                                  //声明int型变量age并赋值
	
    public static void main(String[] args) {              //主方法
		final int number;                                 //声明int型常量number
		number = 1235;                                   //对常量进行赋值
		age = 22;                                        //再次对变量进行赋值
		number = 1236;                                   //错误代码,number为常量,只能赋值一次
		System.out.println("常量PI的值为:"+PI);          //将PI的值输出
		System.out.println("赋值后number的值为:"+number);//将number的值输出
		System.out.println("int型变量age的值为:"+age);   //将age的值输出
 
	}
 
}

运行结果如下:

Exception in thread "main" java.lang.Error:无法解析的编译问题
final 局部变量 unmber 可能已经被赋过值
at part.main(part.java:11)

六、变量的有效范围

由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量就会释放掉,也就是说变量有它的生命期限。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则编译的时候会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

1.成员变量

在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为两种,即静态变量实例变量。例如以下代码:

class Demo{
   int x = 45;
   static int y = 90;
}

其实,x为实例变量,y为静态变量(也称类变量)。如果在成员变量的类型前面加上关键字static,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至可达到整个应用程序内。对于静态变量,除了能在声明它的类内存取,还能直接以“类名.静态变量”的方式在其他类内使用。

2.局部变量

在类的方法体中声明的变量(方法内定义,“ { ”与“ } ”之间的代码中声明的变量)称为局部变量。局部变量只在当前代码块中有效,也就是只能在“ { ”与“ } ”之内使用。

在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机会为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会被销毁。

局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

例,把成员变量“ 排挤掉 ”的局部变量

在项目中创建Val,分别定义名称相同的局部变量成员变量,当名称相同时,成员变量将隐藏

 
public final class Val {                           //新建类
	static int times = 3;                          //定义成员变量times
	public static void main(String[] args) {       //主方法
		int times = 4;                             //定义局部变量times
		System.out.println("times的值为:" +times); //将times的值输出
	}
 
}

运行结果如下:

times的值为:4

你可能感兴趣的:(数据结构)