A.C.E的JAVA学习笔记--5/14/21

1.3.3类型转换

public class Tall {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	int foot;
	double inch;
	Scanner in=new Scanner(System.in);
	foot=in.nextInt();
	inch=in.nextDouble();
	System.out.println(10/3);
	System.out.println("foot="+foot+",inch"+inch);
	System.out.println((foot+inch/12)*0.3048);
	
}

}

*基本数据类型从低到高:
byte<short<char<int<long<float<double

*类型低的可以自动转换为类型高的:例如 int转换成double自动转换 反之需要手工或者强制转换–前面+(int)+后面需要转换的括上括号即可

2.1.1 关系运算

*计算两个值之间的关系,所以叫关系运算

==
!=
< >
<= >=

优先级
算术运算>关系运算>逻辑运算符>赋值运算

*注:
JAVA的运算符,分为四类:
算数运算符、关系运算符、逻辑运算符、位运算符
算数运算符(9):+ - * / % ++ –
关系运算符(6):== != > >= < <=
逻辑运算符(6):&& || ! ^ & |
位运算符(7):& | ~ ^ >> << >>>;

*判断是否相等的优先级比其他的低,而连续的关系运算是从左到右进行的
*true和false不能比较大小
*float浮点运算存在误差
*判断两个浮点数是否相等:用比较大小的方法:
前面+Math.abs(f1-f2)<f1

2.2.1比较

自动售票机程序实现:

public class Tall {

	public static void main(String[] args) {

		Scanner in=new Scanner(System.in);
		//读入投币金额
		System.out.print("请投币:");
		int amount=in.nextInt();
		System.out.println(amount);//判断
		System.out.println(amount>=10);//判断
		//打印车票
		System.out.println("****************");
		System.out.println("*JAVA城际铁路专线*");
		System.out.println("*无指定座位票*");
		System.out.println("*票价:10元*");
		System.out.println("****************");
		//计算并打印找零
		System.out.println("找零:"+(amount-10);
	}

}

2.2.1if判断

上图通过if语句改进后:



public class Main {

	public static void main(String[] args) {

		//读入投币金额
		System.out.print("请投币:");
		int amount=in.nextInt();
		System.out.println(amount);//判断
		System.out.println(amount>=10);//判断
		if(amount>=10){
		//打印车票
		System.out.println("****************");
		System.out.println("*JAVA城际铁路专线*");
		System.out.println("*无指定座位票*");
		System.out.println("*票价:10元*");
		System.out.println("****************");
		//计算并打印找零
		System.out.println("找零:"+(amount-10));
		}
	}

}

比较数的大小

Scanner in=new Scanner(System.in)
int x=in.nextInt();
int y=in.nextInt();
int max;
if(x>y)
	max=x;
if(y>x)
	max=y;
System.out.println(max);

改进方案一:

Scanner in=new Scanner(System.in)
int x=in.nextInt();
int y=in.nextInt();
int max;
if(x>y)
	max=x;
else
	max=y;
System.out.println(max);

改进方案二:

Scanner in=new Scanner(System.in)
int x=in.nextInt();
int y=in.nextInt();
int max=x;
if(y>x)
	max=y;
System.out.println(max);

2.3.1级联和嵌套的判断语句

三重判断:x、y、z的大小判断
此处代码省

*else总是与最近的If匹配
*加括号是个好习惯
*单一出口 is better style

级联:
同时出现esle、else if、else

if(x<0){
f=-1;
}
esle if (x==0){//再判断
f=0;}
esle{
f=2*x}

注:所有的else与if并列

2.3.2多路分支

seitch-case语句:

switch(控制表达式){
case常量:
语句
...
case 常量:
语句
...
default:
语句
...//所有的case都不满足时进入default
}

*程序如果没有遇到break则会一直进行下去

2.4关于if语句常见的错误

  1. if后面忘记+{ }
  2. if后面忘记加分号;
  3. 错误使用=和== (注:if后面的()内只有0/非0)
  4. if大括号中的语句要缩进一个tab的位置
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值