JAVA2

六、类型转换规则
(1)自动类型转换
规则1(算数运算):
转换规则:低级别——>高级别
类型转换图:

规则2(赋值运算):满足自动类型转换的条件
两种类型要兼容:数值类型(整形和浮点型)互相兼容
目标类型大于源类型:例如:double型大于int型
例题:
package com.jredu.ch01;
public class Ch04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//自动类型转换
//基本数据类型的自动转换只有7种的数据类型,除了boolean类型
//基本原则:低级别可以直接转高级别
//char
//byte->short->int->long->float->double
//运算时的自动转换条件
//两种数据类型要兼容
//目标类型大于原类型
int a=10;
double b=1.1;
b=b+a;
// a=a+(int)b;
System.out.println(b);
}
}

(2)强制类型转换
   将高级别类型赋值给低级别类型时,必须进行强制类型转换
例:
int i = 786;
byte b=i;//错误
byte b=(byte)i;//强制转换
例题:
package com.jredu.ch01;
public class Ch05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/ /强制转换类型
//高级别转低级别时,必须要进行强转
//是否强制转换取决于数据类型级别的高低,不取决于数据的实际值
int a=330;
short b=(short)a;
short c=350;
}
}
七、包装类型

包装类型就是把基本数据类型变成了引用数据类型,有了面向对象的概念
基本数据类型转变成包装类的过程叫装箱
把包装类型转变成基本数据类型的过程叫拆箱

例题:
package com.jredu.ch01;
public class Ch08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//基本数据类型
int a=10;
// int b=new int();
//包装类型就是把基本数据类型变成了引用数据类型
//有了面向对象的概念
Integer bInteger = new Integer(1);
Integer A = 10;
//基本数据类型转变成包装类的过程叫装箱
int i=10;
//把基本数据类型转成包装类
Integer ig=Integer.valueOf(i);
Integer ia=i;
//把包装类型转变成基本数据类型的过程叫拆箱
Integer c=10;
int e=ia.intValue();
int d=c;
String s="123";
// 把字符串转换成其他数据类型,调用包装类parseXXX方法
int f=Integer. parseInt(s);
double g=Double.parseDouble(s);
boolean b=Boolean.parseBoolean(s);
/ /把字符串转变成long型
String str="1234";
long l=Long.parseLong(str);
System.out.println(str);
char ch='1';
int in=ch;
System.out.println(in);
}

}
八、控制台输入数据Scanner
例题:
package com.jredu.ch01;
import java.util.Scanner;
public class Ch07 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//0.控制台输出提示信息
System.out.println("请输入会员卡号:");
//1.先接收用户的会员编号
//Scanner类是一个输出类
Scanner sc = new Scanner(System.in);
//nextInt:作用是得到控制台下一个输入的整数值
int num = sc.nextInt();
//2.每位数字相加
//千位数字
int a = num/1000;
num%=1000;
//百位数字
int b = num/100;
num%=100;
//十位数字
int c = num/10;
//个位数字
int d =num%10;
//3.判断结果>20返利50,否则,不返利
//4.打印返利情况
if(a+b+c+d>20){
System.out.println("返利50元");
}else{
System.out.println("没有返利");
}
}

}

九、流程控制
流程控制用来控制程序中各种语句执行顺序
JAVA中流程序控制方式采用三种基本流程结构:顺序结构,选择结构,循环结构
循环结构:while语句、do-while语句、for语句、foreach语句
跳转语句:break语句,continue语句、return语句
if例题:
System.out.print("请输出成绩:");
Scanner sc = new Scanner(System.in);
float num = sc.nextFloat();
if(num>=90){
System.out.println("等级为A级");
}else if(num>=80){
System.out.println("等级为B级");
}else if(num>=70){
System.out.println("等级为C级");
}else if(num>=60){
System.out.println("等级为D级");
}else{
System.out.println("等级为E级");
}
switch例题:
     //输出提示信息
System.out.print("请输入饮料编号:");
//接受输入编号
Scanner sc = new Scanner(System.in);
int num=sc.nextInt();
//根据编号写输出结果
//switch当中的表达式是一个变量值
//case常量1.5版本前,只能是数字,字符,之后可以用字符串
switch (num) {
case 1:
System.out.print("绿茶,3块钱");
break;
case 2:
System.out.print("冰红茶,3块钱");
break;
case 3:
System.out.print("脉动,5块钱");
break;
case 4:
System.out.print("咖啡,5块钱");
break;
case 5:
System.out.print("酸奶,5块钱");
break;
default:
System.out.print("你输入的编号有误");
break;
}
if与switch的联系与区别?
switch和if-else相比,由于使用了优化算法(Binary Tree),绝大部分情况下switch会快一点,除非if-else的第一个条件就为true。
等值分支使用switch。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值