实验2.1 Java符号与表达式
Java语言程序设计实验报告
本科实验报告课程名称:Java语言程序设计实验地点:致远楼专业班级:软工1507班学号:2015005682 学生姓名:李俊慧指导教师:李君婵实验结果1.2.3.System.out.println("Please input and ending with '.' :");BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));A= buf.readLine();// System.out.println(A);B=A.toCharArray();for(i=0;B[i]!='.';i++) {if(B[i]==' ') sum++;}sum+=1;System.out.println("the number of words:"+(sum));}}实验结果1.2.3.public void check() {int t2;for(t2=0;t2<100;t2++) {if(Merchandise[t2]!=null) {System.out.print("Name:"+Merchandise[t2]);System.out.print(" Inventory:"+Inventory);System.out.println();}}}public void query() {ShowMe();// System.out.print(" Inventory:"+Inventory);}}实验结果1.2.3.4.public static void main(String args[]) {Javashiyan5_3 tp1 = new Javashiyan5_3(4000,"Fast");tp1.start();Javashiyan5_3 tp2 = new Javashiyan5_3(5000,"Middle");tp2.start();Javashiyan5_3 tp3 = new Javashiyan5_3(6000,"Slow");tp3.start();}}实验结果1.actionevent myevent = new actionevent(btn);btn.addActionListener(myevent);frm.setVisible(true);}}class actionevent implements ActionListener { JButton btn;public actionevent(JButton btn) {this.btn = btn;}public void actionPerformed(ActionEvent e) {String s1="Click Me";String s2="Click Me Again";String s=((JButton)(e.getSource())).getText();// ((JButton)e.getSource()).setText(s);if(s==s1) btn.setText(s2);if(s==s2) btn.setText(s1);}}实验结果1.2.if(mark==1) {A[n]=i;n++;}}for(j=0;j<200&A[j]!=0;j++){fw.write(A[j]);}fw.close();fr = new FileReader("/home/liberty/myJavachengxu/myJavashiyan/Javashiyan7 /Javashiyan7_5/Javashiyan7_5_sushu.txt");int value;while((value=fr.read())!=-1) {System.out.print(value+"\t");q++;if(q%5==0)System.out.println();}fr.close();System.out.println();System.out.println("However,the 'txt' file cannot be viewed by VIM!!!");}}实验结果1.2.3.4. 5.。
逻辑与 或 非 表达式解析 正则表达式 java
逻辑与或非表达式解析正则表达式java
摘要:
1.逻辑与表达式
2.或表达式
3.非表达式
4.正则表达式
5.Java 中的正则表达式应用
正文:
1.逻辑与表达式
逻辑与表达式是一种用于表示逻辑与关系的表达式,通常用于计算机科学和编程领域。
在逻辑与表达式中,只要给定的条件全部满足,整个表达式的结果就为真。
逻辑与表达式通常用符号“∧”表示,也可以用英文单词“and”来表示。
2.或表达式
逻辑或表达式是一种用于表示逻辑或关系的表达式。
在逻辑或表达式中,只要给定的条件中有一个满足,整个表达式的结果就为真。
逻辑或表达式通常用符号“∨”表示,也可以用英文单词“or”来表示。
3.非表达式
逻辑非表达式是一种用于表示逻辑非关系的表达式。
在逻辑非表达式中,给定条件的结果取反,即如果原条件为真,那么非表达式的结果为假,反之亦然。
逻辑非表达式通常用符号“”表示,也可以用英文单词“not”来表示。
4.正则表达式
正则表达式是一种用于描述字符串模式的文本字符串,通常用于文本搜索和数据提取等场景。
正则表达式通常由一系列字符和元字符组成,可以描述字符串的精确匹配、模糊匹配以及一些高级特性。
5.Java 中的正则表达式应用
Java 是一种广泛使用的计算机编程语言,它提供了丰富的正则表达式处理功能。
在Java 中,可以使用java.util.regex 包中的Pattern 和Matcher 类来处理正则表达式。
Pattern 类用于编译正则表达式,而Matcher 类则用于匹配字符串。
java 基本语言符号
java 基本语言符号Java是一种流行的编程语言,它有一些基本的语言符号和关键字,用于构建程序。
以下是一些Java的基本语言符号和关键字:1. 分号(;):在Java中,分号用于表示语句的结束。
每个语句都应该以分号结尾。
2. 大括号({}):大括号用于定义代码块,例如类的主体、方法的主体等。
代码块包含在一对大括号中。
3. 圆括号(()):圆括号用于表示方法的参数列表、条件语句等。
方法的参数被放置在一对圆括号中。
4. 关键字:Java中有一些保留的关键字,用于表示特定的操作、语义等。
例如:`public`、`class`、`static`、`if`、`else`等。
5. 标识符:标识符是由开发人员定义的名称,用于表示变量、方法、类等。
标识符必须以字母、下划线(_)或美元符号($)开头,后面可以跟字母、数字、下划线和美元符号。
6. 注释:注释用于解释代码的目的、功能等,不会被编译器执行。
Java有两种类型的注释:单行注释(`//`)和多行注释(`/* */`)。
7. 运算符:Java支持各种运算符,如算术运算符(`+`、`-`、`*`、`/`等)、关系运算符(`==`、`!=`、`>`、`<`等)、逻辑运算符(`&&`、`||`、`!`等)等。
8. 数据类型:Java有基本数据类型(如`int`、`double`、`char`等)和引用数据类型(如类、接口、数组等)。
9. 修饰符:修饰符用于调整类、方法、变量等的访问权限和行为,如`public`、`private`、`static`等。
10. 类:Java中的类是面向对象编程的基本单元,用于定义对象的属性和行为。
11. 方法:方法是执行特定任务的代码块。
Java程序从`main`方法开始执行。
12. 对象:对象是类的实例,具有类定义的属性和方法。
这只是Java语言中的一些基本语言符号和关键字。
如果您想要更详细的信息,可以查阅Java 编程的相关资料或文档。
java的基本符号
语句的分类 Java语句按是否改变运行的状态可分为执行语句(如表达式语句)和非执行语句(如声明语句)。任何语句的 末尾都以“;”结束。 执行语句按其组成可分三类: 空语句 只有一个语句结束符“;” ,无任何内容。 基本语句(单语句) 独立的、完整的不能再分割为更小的可执行单元。 复合语句(块语句) 包含在{ }内的一条或若干条语句。 Java的基本语句的结构可分为4类: (1)顺序结构语句 (2)分支语句 (3)循环语句 (4)例外处理语句 后三种语句又称为流控制语句,我们将主要介绍分支语句和循环语句,而例外处理语句包括try、catch、 finally以及throw语句。 这些语句是Java所特有的。我们将在后面作专门的介绍。 分支语句 分支语句包括if-else, break, switch, return等语句。分支语句提供了一种控制机制,使得程序可以跳过一 些语句,转去执行特定的语句。条件语句 if-else. if-else语句根据判定条件的真假来执行两种操作中的一种,其格式为: if (boolean-expression) statement1; else statement2; 其中,要注意的有: 布尔表达式boolean-expression是任意一个返回布尔型数据的表达式(这比C、C++的限制要严格)。 每个单一的语句后都必须有分号。
接口(Interfaces):规则同类名。 如:Interface Account 方法(methods): 由一个或多个动词组成,开头小写,动词间区分 用大写,其他小写。 如:balanceAccount() 变量:小写字母开头,单词间用大写字母分隔 如:currentCustomer 常量:所有字母大写,单词间用下划线区分 如:MAXIMUM_SIZE Java的操作符 根据操作对象的个数操作符可分为一元、二元或三元操作符。根据操 作符的功能,又可分为算术、逻辑、关系等操作符。 算术操作符 一元: + - ++ -二元: + - * / % 值得注意的是 ++ 和-- 操作符, 如:int a,x=1,y=5; a = ++x;b=y++; 此时a的值为2(先加1,后赋值),b的值为5(先赋值,后加1)。 二元操作符两侧的操作对象数据类型不先自动进行类型转换,再进行 操作。 赋值操作符与复合赋值操作符 可将 变量 = 变量 op 表达式 写成 变量 op = 表达式 如:x+=20 与 x=x+20 结果一致,但更简洁。 注意:= 与 = = 的不同。
java编程实验报告
java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。
本篇文章将介绍我在Java编程实验中的实践和收获。
实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。
通过这个实验,我了解了Java的基本语法和程序结构。
在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。
通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。
实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。
通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。
在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。
通过这个实验,我对Java中的变量和运算符有了更深入的理解。
实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。
通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。
同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。
在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。
实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。
通过编写程序,我实现了对数组和字符串的声明、赋值和操作。
在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。
通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。
实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。
通过编写程序,我实现了对类的定义、对象的创建和方法的调用。
java与或非三种运算规则符号
一、概述在计算机编程领域,逻辑运算符号在控制程序流程和逻辑判断方面起着至关重要的作用。
而在Java语言中,常用的逻辑运算符号包括与、或和非三种类型。
本文将分别介绍这三种运算规则符号的使用方法和注意事项,帮助读者更好地理解和运用Java语言中的逻辑运算。
二、与运算规则符号与运算规则符号在Java中使用符号“”表示,其作用是同时满足两个条件时返回true,否则返回false。
值得注意的是,与运算规则符号具有短路特性,即当第一个条件不满足时,将不再执行第二个条件判断。
下面是一个示例代码:```javaint a = 5;int b = 3;if (a > 3 b < 5) {System.out.println("条件成立");} else {System.out.println("条件不成立");}```在上面的示例中,如果a大于3且b小于5时,将会输出“条件成立”,否则输出“条件不成立”。
由于与运算规则符号的短路特性,当a不大于3时,将不会继续判断b是否小于5,直接输出“条件不成立”。
三、或运算规则符号或运算规则符号在Java中使用符号“||”表示,其作用是满足其中一个条件时返回true,只有在两个条件都不满足时才返回false。
与运算规则符号类似,或运算规则符号也具有短路特性。
下面是一个示例代码:```javaint c = 7;int d = 2;if (c > 5 || d < 1) {System.out.println("条件成立");} else {System.out.println("条件不成立");}```在上面的示例中,如果c大于5或d小于1时,将会输出“条件成立”,否则输出“条件不成立”。
同样地,由于或运算规则符号的短路特性,当c大于5时,将不会继续判断d是否小于1,直接输出“条件成立”。
Java语言中的表达式
Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。
在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。
一、算术运算符所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。
这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换。
1所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。
规则如下:1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。
2)两个操作数中有一个是double类型的,则另一个将转换成double型。
3)两个操作数中有一个是float类型的,则另一个将也转换成float型。
4)两个操作数中有一个是long类型的,则另一个将也转换成long型。
5)任何其它类型的操作,两个操作数都要转换成int类型。
2对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。
两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。
整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。
我们用程序验证一下:/*两个整数相除及求余数*/public class Divide{public static void main(String[] args){int a = 15;int b = 2;double c = 2;System.out.println(a + "/" + b + "=" + (a / b));System.out.println(a + "%"+ b + "=" + (a % b));System.out.println(a + "/" + c + "=" + (a / c));System.out.println(a + "%" + c + "=" + (a % c));}}输出结果:15 / 2 = 715 % 2 = 115 / 2.0 = 7.515 % 2.0 = 1.03在循环与控制中,我们经常会用到类似于计数器的运算,它们的特征是每次的操作都是加1或减1。
java expressions 用法
一、Java表达式的概念1.1 Java表达式的定义Java表达式是由变量、运算符和方法调用等组成的代码片段,用于计算数值、执行逻辑判断和实现数据操作等功能。
1.2 Java表达式的作用Java表达式可以用来进行数学运算、比较大小、判断逻辑条件、赋值操作等,是Java语言中非常重要的部分之一。
二、Java表达式的基本语法规则2.1 变量的使用在Java表达式中可以使用变量来表示数据,例如:int var1 = 10; int var2 = 20; int result = var1 + var2;2.2 运算符的应用Java中有加减乘除等基本运算符,还有逻辑运算符和位运算符等,可以通过运算符组合来生成复杂的表达式。
2.3 方法调用在Java表达式中可以调用其他方法,并将方法的返回值作为表达式的一部分使用,例如:int max = Math.max(5, 10);三、Java表达式的使用方法3.1 数学表达式Java表达式可以用来进行数学运算,例如:int result = 10 + 20;3.2 逻辑表达式Java表达式可以用来判断逻辑条件,例如:boolean isEven = (num 2) == 0;3.3 赋值表达式Java表达式可以用来进行赋值操作,例如:int result = 0; result += 10;四、Java表达式的注意事项4.1 算术运算符在使用算术运算符时,需要注意除数不为零,防止出现异常。
4.2 类型转换在进行表达式计算时,需要注意数据类型的自动转换和强制转换,避免数据丢失和精度问题。
4.3 空指针异常在使用表达式时,需要注意空指针异常的问题,避免空指针引用导致程序崩溃。
五、Java表达式的实际应用5.1 在条件语句中的应用Java表达式常常用于条件语句的判断条件中,根据逻辑条件的真假执行不同的逻辑。
5.2 在循环语句中的应用Java表达式也经常用于循环语句的控制条件中,根据条件表达式的结果来决定是否继续执行循环。
Java实验报告(w3,w4)
int startPosition=0,endPosition=0;
char cStart='а',cEnd='я';
startPosition=(int)cStart; // cStart做int类型转换运算,并将结果赋值给startPosition
i=j;
}
else if(n<a[j]){
k=j;
}
j=(i+k)/2;
count++;
if(count>a.length/2)
break;
}
if(n==a[j]){
System.out.printf("%d在这个数组中",n);
}
else
System.out.printf("%d不在这个数组中",n);
}
}
后面采用count次数判断是否刚好在查找到最小数时停止,是则输出查找成功,否则没有找到。
while(n!=a[j]){
if(n>a[j]){
i=j;
}
else if(n<a[j]){
k=j;
}
j=(i+k)/2;
count++;
if(count>a.length/2+1)
break;
}
if(count>a.length/2&&a[0]!=n){
}
System.out.println(" ");
}
4、采用大一时用C语言写的算法思想,直接进行判断。
java实验报告
java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。
同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。
JAVA程序设计实验
JAVA程序设计实验实验1 JAVA基础一、实验目的1.掌握JA V A语言的各种数据类型2.熟悉运算符和表达式。
3.学会编写简单程序二、实验环境硬件:计算机软件:操作系统:windows98以上或LINUX、JDK 1.2以上三、实验内容:下面是一个简单的JA V A程序,将多种类型变量通过各种运算符组成不同的表达式,并将运算结果赋值给同类型的变量,使用println()方法输出各变量的值。
Public class ExampleTest(){Public static void main(String args[]){Int no=(11+20)*3/5; //A行System.out.println(“no=”+no);no++; //B行System.out.println(“no=”+no);Boolean bool=false; //C行bool=true&!bool; //D行System.out.println(“bool=”+bool);Byte bV alue=0x10; //E行System.out.println(“bV alue=”+bV alue);Bool=(no>bV alue); //F行System.out.println(“bool=”+bool);}}四、实验的主要步骤1.用edit录入以上程序内容并保存,注意文件名。
2.用javac.exe命令编译刚保存的JA V A文件。
3.如果编译通不过,用edit打开源代码进行修改。
重复第2步和第3步至到编译通过。
4.用java.exe运行编译生成的类文件。
5.查看运行结果。
实验2 JAVA流程控制一、实验目的1.掌握条件语句的使用。
2.熟悉循环语句的使用。
二、实验环境硬件:计算机软件:操作系统:windows98以上或LINUX、JDK 1.2以上。
三、实验内容1.求a+aa+aaa+…+a..a (n个)的和,其中a为1-9之间的整数。
java的表达式
java的表达式Java是⾯向表达式的语⾔,Java中⼀个简单表达式可以是下⾯任意⼀种:●常量:7、false。
●单引号括起来的字符字⾯常量:'A'、'3'。
●双引号括起来的字符串字⾯常量:"foo"、"Java"。
●任何正确声明的变量名:myString、x。
●任何⽤Java⼆元运算符(本章稍后将详细讨论)连接起来的两个上述类型的表达式:x+2。
●任何⽤Java⼀元运算符(本章稍后将详细讨论)修饰的单个上述类型的表达式:i++。
●任何⽤⼩括号括起来的上述类型的表达式:(x+2)。
以及另外⼀些与本书后⾯将要学到的对象有关的表达式类型。
⽆论多么复杂的表达式都可以由不同类型的简单表达式和括号嵌套组合⽽成,例如:((((4/x) + y) * 7) + z)。
⼀、算术运算符Java语⾔提供了许多基本的算术运算符,如表2-1所⽰。
表2-1 Java算术运算符运算符描述+加法-减法*乘法/除法%取余数 10%3=1+和-运算符也可作为⼀元运算符⽤于表⽰正负数:-3.7、+42。
除了简单赋值运算符=,还有许多特定的复合赋值运算符,这些运算符将变量赋值和算术操作合并在⼀起,如表2-2所⽰。
表2-2 Java复合赋值运算符运算符描述+=a+=b等价于a=a+b-=a-=b等价于a=a-b*=a*=b等价于a=a*b/=a/=b等价于a=a/b%=a%=b等价于a=a%b最后要介绍的两个算术运算符是⼀元递增运算符(++)和⼀元递减运算符(--),⽤于将整数变量的值加1或减1,或者将浮点数变量的值加1.0或减1.0。
称它们为⼀元运算符是因为它们⽤于单个变量,⽽前⾯讨论的⼆元运算符则连接两个表达式的值。
⼀元递增运算符和⼀元递减运算符也可⽤于将字符变量在Unicode序列中向前或向后移动⼀个字符位置。
例如,在下⾯的代码⽚段中,字符变量c的值从'e'递增为'f':char c='e';c++; //⾃加后,c='f'递增和递减运算符可以以前缀或者后缀⽅式使⽤。
Java编程基础实验报告
Java编程基础实验报告编制教师唐春兰审定代伟(适用于计算机科学学院专业学生)2016至2017学年第一学期计算机科学学院实验名称:Java语言基础指导教师:唐春兰实验仪器:计算机实验日期:2016 年12 月2 日实验地点:第三实验楼209 实验目的:1、了解Java 的数据类型;2、掌握各种变量的声明方式;3、理解运算符的优先级;4、掌握JAVA基本数据类型、运算符与表达式、数组的使用方法;5、理解JAVA程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;6、通过以上内容,掌握JAVA语言的编程规则。
实验内容及基本要求:1、读下列程序,理解不同数据类型变量的声明,写出其输出结果并上机运行验证。
public class SHIYAN2_1 {public static void main(String[] args) {byte b=0x55;short s=0x55ff;int i=1000000;long l=0xffffL;char c='a';float f=0.23F;double d=0.7E-3;boolean B=true;String S="这是字符串类数据类型";System.out.println("字节型变量 b = "+b);System.out.println("短整型变量 s = "+s);System.out.println(" 整型变量 i = "+i);System.out.println("长整型变量 l = "+l);System.out.println("字符型变量 c = "+c);System.out.println("浮点型变量 f = "+f);System.out.println("双精度变量 d = "+d);System.out.println("布尔型变量 B = "+B);System.out.println("字符串类对象 S = "+S);}}2、分析下列程序,了解变量的使用范围,修改程序使之能成功运行。
正则表达式 java 匹配部分标点符号
正则表达式在Java中匹配部分标点符号正则表达式是一种强大的文本匹配工具,它在Java编程中被广泛使用。
在处理文本数据时,我们经常需要对标点符号进行匹配,以便进行数据清洗、分词或其他文本处理操作。
本文将重点探讨在Java中如何使用正则表达式来匹配部分标点符号,以及相关的应用技巧和注意事项。
1. 正则表达式概述正则表达式是一种用于匹配字符串的模式,它可以用来检查一个字符串是否含有某种特定的文本模式、进行查找、替换等操作。
在Java中,正则表达式通过java.util.regex包提供支持,可以使用Pattern和Matcher类来进行模式匹配操作。
在正则表达式中,标点符号通常被当做特殊字符处理,需要进行转义才能匹配。
常见的一些标点符号包括句号(. )、逗号(, )、问号(? )、双引号( " )、分号( ; )等。
我们可以通过正则表达式来匹配这些标点符号,并进行相应的处理。
2. 匹配部分标点符号要在Java中使用正则表达式匹配部分标点符号,通常可以通过以下方式实现:- 使用字符类:我们可以在正则表达式中使用字符类([])来匹配一组特定的字符,通过指定所需的标点符号进行匹配。
要匹配句号和逗号,可以使用[.,]来表示。
- 使用转义字符:如果要匹配特殊的标点符号,比如双引号或问号,需要使用转义字符(\)进行处理。
要匹配双引号,可以使用\"来表示。
- 使用量词:通过使用量词(例如*, +, ?)可以匹配标点符号的重复次数,以满足一定的匹配要求。
可以使用句号(.)加上*来匹配零个或多个句号。
3. 示例代码下面是一个简单的示例代码,演示了如何在Java中使用正则表达式匹配部分标点符号:```javaimport java.util.regex.Matcher;import java.util.regex.Pattern;public class PunctuationMatch {public static void main(String[] args) {String text = "Hello, world! This is a test.";String pattern = "[.,!?]"; // 匹配句号、逗号和感叹号Pattern p = Patternpile(pattern);Matcher m = p.matcher(text);while (m.find()) {System.out.println("Found punctuation: " + m.group()); }}}```在上面的示例中,我们定义了一个文本字符串text和一个正则表达式模式pattern,然后使用Pattern和Matcher类进行匹配操作。
实验2-转义字符、类型转换、运算符
实验2 Java符号与表达式2.1 实验目的(1)熟悉基本数据类型及其占用空间大小,熟悉标识符的定义特点;(2)熟悉常见转义字符的含义;(3)掌握不同类型数据的赋值转换原则,熟悉自动转换与强制转换的含义;(4)掌握常用运算符的使用。
2.2 知识要点2.2.1 基本数据类型、变量(1)标识符的命名原则:以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。
(2)基本数据类型(见表2-1)表2-1 基本数据类型●八进制表示形式:以0(零)开头,如:012;●十六进指表示形式:以0x开头,如:0xa1;●整数默认int型,长整数可在后面加L;●实数默认双精度型,要明确表示为float型在数据后加F。
●布尔型数据只有true和false两个值;●字符型数据是用单引号括起来。
2.2.2 特殊字符—转义符Java字符采用Unicode编码。
“\”(反斜杠)在字符表示或字符串中有特殊作用,它和之后的字符合并解释,用于表示一些特殊字符。
见表2-2。
表2-2 常见转义符2.2.3 自动类型转换与强制类型转换(1)自动转换次序byte-->short→char→int→long→float→double按照箭头所示方向,处于左边的数据类型的数据可以自动转换赋值给右边的数据类型的变量,但反之,将处于右边的数据类型的数据赋值给处于左边的数据类型的变量必须经过强制转换。
(2)布尔类型不能与其他类型进行转换;(3)赋值时强制转换可能导致数据丢失精度。
2.2.4 输出语句的使用(1)print()方法与println()的差异是前者输出后不换行,而后者换行。
(2)输出时可以通过“+”号将任何数据与字符串拼接。
如果拼接的是基本类型变量,则在其位置输出变量值,如果是对象,则在其位置输出对象的toString()方法的返回结果。
2.2.5 容易用错的运算符(1)++或--的位置相关性。
不妨假设原来a值为4,则使用++或--运算符后的结果如表2-3所示。
JAVA实验报告
JAVA实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解 Java 语言的基本语法、面向对象编程的概念以及常用类库的使用。
同时,培养自己解决实际问题的能力,提高编程的熟练程度和代码质量。
二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容及步骤(一)基本语法练习1、数据类型与变量定义不同类型的变量,如整数型(int)、浮点数型(float、double)、字符型(char)和字符串型(String),并进行赋值和输出操作。
了解不同数据类型的取值范围和精度,以及在实际编程中的应用场景。
2、控制结构编写使用 ifelse 语句、switch 语句进行条件判断的程序。
运用 for 循环、while 循环和 dowhile 循环实现重复执行的操作。
3、数组与字符串声明和初始化一维数组和二维数组,对数组元素进行访问和操作。
进行字符串的拼接、截取、查找等常见操作。
(二)面向对象编程实践1、类与对象定义一个简单的类,包含属性和方法。
创建该类的对象,并调用对象的方法来操作属性。
2、继承与多态建立父类和子类,实现继承关系。
在子类中重写父类的方法,展示多态性。
3、封装与抽象将类的属性设置为私有,并提供公共的访问方法(getter 和 setter),实现封装。
定义抽象类和抽象方法,体会抽象的概念和作用。
(三)常用类库的使用1、 Java 输入输出(IO)使用 Scanner 类实现从控制台读取用户输入的数据。
运用 File 类和相关的输入输出流类,实现文件的读取和写入操作。
2、集合框架熟悉 ArrayList、LinkedList 等线性集合的使用方法。
了解 HashSet、TreeSet 等集合的特点和应用场景。
3、异常处理在程序中加入可能引发异常的代码段,并使用 trycatch 语句捕获和处理异常。
四、实验结果与分析(一)基本语法练习1、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。
第2章 Java编程基础
2.3.4 逻辑运算符和逻辑表达式
Java中常用的三种逻辑运算符是: &&(逻辑与,二元运算符) a&&b || (逻辑或,二元运算符) a||b ! (逻辑非,一元运算符) !a 注意短路运算 a&&b a||b
2.3.5 位运算符和位运算表达式
位(bit)是计算机中表示信息的最小单位,一般用0和1表示。一个字符在计算机中占一个字节, 一个字节由8个二进制组成。 • 位运算符对操作数按其二进制形式逐位进行运算,参加位运算的操作数必须为整数。相应的运
赋值运算符的结合性是从右至左的,因此程序中可以出现连续赋值的情况。例如,下面的赋值是合法的:
int i,j,k;
i=j=k=10;
//i,j,k都赋值为10
2.复合赋值运算符
表2-4是一些常用的复合赋值运算符。
2.3.2 赋值运算符和赋值表达式
2.复合赋值运算符
表2-4中的非直接赋值运算符在执行速度上快于一般的赋值方式,
第2章 Java编程基础
本章内容
2.1 标识符与数据类型 2.2 常量与变量 2.3 运算符和表达式 2.4 逻辑控制语句 2.5 Java数组和应用 2.6 Java方法
java实验报告实验2答案(共5篇)
java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。
了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
实验内容:创建一个java项目,命名为experiment2。
(如何创建项目参考《实验一》的项目创建方法。
)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add方法把组件加入到容器中。
1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。
最新java2实用教程实验代码及答案
上机实践1 初识JA V A (3)实验1一个简单的应用程序 (3)实验2一个简单的J A V A A PPLET程序 (3)实验3联合编译 (4)上机实践2 基本数据类型与控制语句 (5)实验1输出希腊字母表 (5)实验2回文数 (6)实验3猜数字游戏 (8)上机实践3 类与对象 (9)实验1三角形、梯形和圆形的类封装 (9)实验2实例成员与类成员 (12)实验3使用PACKAGE语句与IMPORT语句 (14)上机实践4 继承与接口 (16)实验1继承 (16)实验2上转型对象 (19)实验3接口回调 (21)上机实践5 字符串、时间与数字 (23)实验1S TRING类的常用方法 (23)实验2比较日期的大小 (24)实验3处理大整数 (25)上机实践6 组件及事件处理 (26)实验1算术测试 (26)实验2信号灯 (29)实验3布局与日历 (31)上机实践7 组件及事件处理2 (35)实验1方程求根 (35)实验2字体对话框 (38)实验3英语单词拼写训练 (41)上机实践8 多线程 (45)实验1汉字打字练习 (45)实验2旋转的行星 (47)实验3双线程接力 (51)上机实践9 输入输出流 (54)实验1学读汉字 (54)实验2统计英文单词字 (57)实验2读取Z IP文件 (61)上机实践10 JAV A 中的网络编程 (62)实验1读取服务器端文件 (62)实验2使用套接字读取服务器端对象 (64)实验3基于UDP的图像传输 (67)上机实践11 数据结构 (71)实验1扫雷小游戏 (71)实验2排序与查找 (76)实验3使用T REE S ET排序 (77)上机实践12 JAV A SWING (79)实验1JL AYERED P ANE分层窗格 (79)实验2使用表格显示日历 (80)实验3多文档界面(MDI) (83)上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println("你好,很高兴学习Java") ;【代码2】:System.out.println("We are students") ;2.模板代码Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString("这是一个Java Applet 程序",10,30);【代码2】:g.drawString("我改变了字体",20,50);2.模板代码FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}实验3 联合编译1.答案:【代码1】:System.out.println("你好,只需编译我");【代码2】:System.out.println("I am A");【代码3】:System.out.println("I am B");【代码4】:System.out.println("I am C");2.模板代码模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}上机实践2 基本数据类型与控制语句实验1 输出希腊字母表1.答案:【代码1】:startPosition=(int)cStart;【代码2】:endPosition=(int)cEnd ;【代码3】:c=(char)i;2.模板代码GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}实验2 回文数1.答案:【代码1】:number<=99999&&number>=1【代码2】:d5=number/10000;【代码3】:d4=number%10000/1000;【代码4】:d3=number%1000/100;【代码5】:d5!=0【代码6】:d1==d5&&d2==d4【代码7】:d4!=0【代码8】:d1==d4&&d2==d3【代码9】:d3!=0【代码10】:d1==d32.模板代码Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");number=Integer.parseInt(str);if(【代码1】) //判断number在1至99999之间的条件{【代码2】//计算number的最高位(万位)d5【代码3】//计算number的千位d4【代码4】//计算number的百位d3d2=number%100/10;d1=number%10;if(【代码5】) //判断number是5位数的条件{System.out.println(number+"是5位数");if(【代码6】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码7】) //判断number是4位数的条件{System.out.println(number+"是4位数");if(【代码8】) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码9】) //判断number是3位数的条件{System.out.println(number+"是3位数");if(【代码10】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}实验3 猜数字游戏1.答案:【代码1】:yourGuess!=realNumber【代码2】:yourGuess>realNumber【代码3】:yourGuess<realNumber2.模板代码GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(【代码1】) //循环条件{if(【代码2】) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}else if(【代码3】) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}上机实践3 类与对象实验1 三角形、梯形和圆形的类封装1.答案:【代码1】:sideA=a;sideB=b;sideC=c;【代码2】:a+b>c&&a+c>b&&c+b>a【代码3】:boo=true;【代码4】:boo=false;【代码5】:if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}【代码6】:sideA=a;sideB=b;sideC=c;【代码7】:a+b>c&&a+c>b&&c+b>a【代码8】:boo=true;【代码9】:boo=false;【代码10】:above=a;bottom=b;height=h;【代码11】:area=(above+bottom)/2*height;return area;【代码12】:radius=r;【代码13】:return 3.14*radius*radius;【代码14】:return 3.14*2*radius;【代码15】:circle=new Circle(10);【代码16】:trangle=new Trangle(3,4,5);【代码17】:lader=new Lader(3,4,10);【代码18】:length=circle.getLength();【代码19】:area=circle.getArea();【代码20】:length=trangle.getLength();【代码21】:area=trangle.getArea();【代码22】:area=lader.getArea();【代码23】:trangle.setABC(12,34,1);【代码24】:area=trangle.getArea();【代码25】:length=trangle.getLength();2.模板代码AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。
《JAVA程序设计基础》课程标准
《JAVA 程序设计基础》课程标准一、课程概述本门课程是为计算机科学专业的软件工程方向、软件服务外包方向、网络技术方向,以及通信工程专业的通信工程方向、嵌入式系统方向开设的一门专业基础课。
其主要内容有Java 基本语法、Java 基本语句、面向对象程序设计、多线程技术、异常处理机制、Windows 环境编程、Java 网络编程等等,其目标是为大学本科高年级学生提供有关Java 的基础知识以及面向对象的程序设计方法所必需具有的知识和技能;Java 语言的运行环境有许多特性,对图形用户界面(GUIs)、多线程和网络的支持,是当今应用最广的一门网络语言。
本门课程是计算机科学技术与通讯技术类专业的应用学科,本门课程的先修课程是《数据结构》,后续课程有《Java Swing 图形界面设计》、《JAVA 模式设计》。
该课程可以在大学二年级开设。
二、课程目标完成本课程的学习后,学生应该能够:1.了解Java 语言的主要特性,并理解面向对象的编程技术;2.掌握Java 语言的运行环境和Java 的基本语句及编程;3.理解并学会使用异常处理机制和多媒体技术;4.掌握图形用户界面设计和事件处理机制;5.学会开发多线程Java 应用程序和Java applets 小应用程序;6.理解TCP/IP和用户数据报协议(UDP),并掌握Java 网络编程和数据库编程。
三、课程内容与教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:知道——是指对本门课程的教学内容和教学标准的认知。
理解——是指对本门课程涉及到的概念、原理与技术能明白和解释。
掌握——是指能运用已理解的知识进行编程。
学会——是指能灵活运用相关知识进行实验分析与设计。
教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
教学内容及教学要求表四、课程实施JAVA 语言程序设计是计算机科学技术以及通讯技术类选修课;一般情况下,每周安排3 课时,共54 课时,其中讲授 40 课时、实验 14 课时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2.1 Java符号与表达式2.1.1 实验目的(1)熟悉基本数据类型及其占用空间大小,熟悉标识符的定义特点;(2)熟悉常见转义字符的含义;(3)掌握不同类型数据的赋值转换原则,熟悉自动转换与强制转换的含义;(4)掌握常用运算符的使用。
2.1.2 知识要点2.1.2.1.1 基本数据类型、变量(1)标识符的命名原则:以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。
(2)基本数据类型(见表2-1)表2-1 基本数据类型●八进制表示形式:以0(零)开头,如:012;●十六进指表示形式:以0x开头,如:0xa1;●整数默认int型,长整数可在后面加L;●实数默认双精度型,要明确表示为float型在数据后加F。
●布尔型数据只有true和false两个值;●字符型数据是用单引号括起来。
2.1.2.1.2 特殊字符—转义符Java字符采用Unicode编码。
“\”(反斜杠)在字符表示或字符串中有特殊作用,它和之后的字符合并解释,用于表示一些特殊字符。
见表2-2。
表2-2 常见转义符2.1.2.1.3 自动类型转换与强制类型转换(1)自动转换次序byte-->short→char→int→long→float→double按照箭头所示方向,处于左边的数据类型的数据可以自动转换赋值给右边的数据类型的变量,但反之,将处于右边的数据类型的数据赋值给处于左边的数据类型的变量必须经过强制转换。
(2)布尔类型不能与其他类型进行转换;(3)赋值时强制转换可能导致数据丢失精度。
2.1.2.1.4 输出语句的使用(1)print()方法与println()的差异是前者输出后不换行,而后者换行。
(2)输出时可以通过“+”号将任何数据与字符串拼接。
如果拼接的是基本类型变量,则在其位置输出变量值,如果是对象,则在其位置输出对象的toString()方法的返回结果。
2.1.2.1.5 容易用错的运算符(1)++或--的位置相关性。
不妨假设原来a值为4,则使用++或--运算符后的结果如表2-3所示。
表2-3 ++和—运算符的位置相关性(2)赋值运算(=)与相等比较(==)的差异赋值语句形式:变量名=表达式;功能:计算表达式的结果,并将结果给变量赋值,变量的结果也为赋值表达式的结果。
“==”是关系运算符,是比较运算符两边的数据是否相等。
表达式的结果为true或false。
(3)求余(%)与除号(/)的使用注意两个整数进行除法运算是整除,结果将不包含小数部分,而一个是整数、另一个为实数,则转化为实数后再计算,结果为实数。
具体样例见表2-4。
表2-4 求余与除号运算符(4)逻辑与(&&)与逻辑或(||)的使用,尤其是副作用。
逻辑运算符有可能不必计算运算符两边的表达式即可确定结果,其副作用见表2-5。
表2-5 逻辑运算符的附加特点(5)位运算符的使用移位运算符左移1位将数值增大1,右移则缩小1倍;按位逻辑运算相当于每位的1对应true,0对应false的逻辑运算,将各位的运算结果拼接后的数据即为结果。
各类位运算符的具体功能见表2-6。
表2-6 各类位运算符的功能(6)运算符的优先级在一个表达式中运算的优先次序由相邻运算符的优先级决定,同一级运算符的运算次序根据运算符的结合性决定运算次序。
如果是左结合则按自左向右的次序进行。
2.1.3 样例分析样例1:调试分析以下程序的运行结果:public class test {public static void main(String a[]) {int m=0;System.out.println("m++="+m++);System.out.println("++m="+(++m));boolean x;x=(5>3)&&(4==6);System.out.println("x="+x);m=m%2;System.out.println("result="+m+1);int y=m*m+2*m-1;System.out.println("m="+m+",y="+y);}}【输出结果】m++=0++m=2x=falseresult=01m=0,y=-1【说明】(1) 注意m++和++m的求值差异;(2)注意输出语句中与字符串的拼接运算次序。
字符串“result”先与m的值拼接,然后再与1拼接。
样例2:已知梯形的上底为3,下底为5,高为2.1.4,求其面积。
【参考程序1】public class Area {public static void main(String a[]){double x=3; // 上底double y=5; // 下底double z=2.1.4; // 高double s=(x+y)*z/2; //计算面积System.out.println("面积="+s);}}【参考程序2】public class Area {public static void main(String a[]){double s=(3+5)*2.1.4/2; //计算面积System.out.println("面积="+s);}}【说明】计算机编程解法可以是多样的,只要能实现目标即可。
但要注意程序的可读性,对引入的变量通常要加以注释。
2.1.4 上机练习✧基本题1)编程观察如下输出语句:System.out.println("hello test escape char");在“escape”处换上各种转义字符测试输出效果。
如何实现如下输出:Hello "test"Hello ‘\test’2)设有如下代码段,考虑赋值转换问题:int a=234;byte b=a;System.out.println("a="+a+",b="+b);将a,b的类型以及数据进行各种替换,观察什么时候能赋值,什么时候需要使用强制转换,什么时候不能强制转换,什么时候强制转换会丢失数据。
3) 编写一个程序求半径R为10的圆的面积。
公式为:S=πR2注:π可用Math类的常量PI表示(即Math.PI)。
✧提高题1)设有一个边长为30的等边三角形,三角形内有一个内切圆,计算除内切圆外三角形内其它部分的面积。
【提示】先算三角形面积,再计算圆的面积,其差即为结果。
2)调试分析以下程序的运行结果:public class test {public static void main(String a[]) {int m=10,n=517;System.out.println(n % m);System.out.println(n / m);System.out.println(m >> 2);System.out.println(m & n);System.out.println(Integer.toBinaryString(m));System.out.println(Integer.toBinaryString(m >> 2));}}注意:Integer.toBinaryString(int)用于将一个整数转化为二进制形式的数字串。
在进行位运算时,注意观察二进制的数据变化规律。
2.1.5 思考题1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为: A.int类型 B. double类型 C. float类型 D. long类型2)下面程序段的输出结果是:int a = 2;System.out.print( a++);System.out.print( a);System.out.print(++a);A.333 B.334 C.234 D.2333) 以下代码的输出结果?public class Test{int x=3;public static void main(String argv[]){int x= 012;System.out.println(x);}}A.12 B.012 C.10 D.34) 下列定义语句正确的是:A.char c="\n"; B.int i=12; C.float f=2.1.8; D.boolean b=null; 5)检查如下代码:public class Quiz2_l{public static void main(String[] args) {int a = 8;int b = -8;System.out.print(a<<2);System.out.print("," + (b>>1) );}}下列哪条语句正确描述了程序在编译和运行时的行为?A.编译成功,输出为“32,-4 ”B. 编译成功,输出为“16,4 ”C. 编译成功,输出为“32,2147483644”D. 编译成功,输出为“16,2147483644”E. 编泽器拒绝表达式 b>>,因为不能对一个负数应用>>操作符6)以下代码中变量result的可能类型有哪些?byte b = 11;short s = 13;result = b * ++s;A.byte, short, int, long, float, doubleB.boolean, byte, short, char, int, long, float, doubleC.byte, short, char, int, long, float, doubleD.byte, short, charE.int, long, float, double7)以下代码的输出结果为:System.out.println(" " +2 + 3);System.out.println(2 + 3);System.out.println(2 + 3 +"");System.out.println(2 + "" +3);A.第3行出现编译错误B.输出23, 5, 5 和23.C.输出5, 5, 5 和23.D.输出 23, 5, 23 和23.8)设有如下变量说明:byte myByte;int myInt;long myLong;char myChar;float myFloat;double myDouble;以下赋值语句哪个需要强制转换。