本系列博客习题来自《算法(第四版)》,算是本人的读书笔记,如果有人在读这本书的,欢迎大家多多交流。为了方便讨论,本人新建了一个微信群(算法交流),想要加入的,请添加我的微信号:zhujinhui207407 谢谢。另外,本人的个人博客 http://www.kyson.cn 也在不停的更新中,欢迎一起讨论
算法(第4版)
1.1.1 给出以下表达式的值:
a.( 0 + 15 ) / 2
b.2.0e-6 * 100000000.1
c.true && false || true && true
public class Practice1 { public static void main(String []args) { System.out.println((0 + 15)/2); System.out.println(2.0e-6 * 100000000.1); System.out.println(true && false || true && true); } }
答案
7 //类型是整形,所以输出7 200.0000002 //浮点型 true //false||true,输出
1.1.2 给出以下表达式的类型和值:
a. (1 + 2.236)/2
b. 1 + 2 + 3 + 4.0
c. 4.1 >= 4
d. 1 + 2 + "3"
public class Practice2 { public static void main(String []args) { System.out.println((1 + 2.236)/2); System.out.println(1 + 2 + 3 + 4.0); System.out.println(4.1 >= 4); System.out.println(1 + 2 + "3"); } }
答案
1.618 //浮点型 10.0 //1,2,3会转换为浮点型 true //真 33 //数字转化为字符串
1.1.3 编写一个程序,从命令行得到三个整数参数。如果它们都相等则打印 equal,否则打印 not equal。
答案
import java.util.Scanner; public class Practice3 { public static void main(String[] args) { System.out.println("请输入三个整数"); Scanner scanner1 = new Scanner(System.in); String string1 = scanner1.next(); Scanner scanner2 = new Scanner(System.in); String string2 = scanner2.next(); Scanner scanner3 = new Scanner(System.in); String string3 = scanner3.next(); Integer number1 = Integer.valueOf(string1); Integer number2 = Integer.valueOf(string2); Integer number3 = Integer.valueOf(string3); if(number1 == number2 && number1 == number3 && number2 == number3) { System.out.println("equal"); } else { System.out.println("not equal"); } } }
1.1.4 下列语句各有什么问题(如果有的话)?
a. if (a > b) then c = 0;