--- 首先 看一个 Scanner 类
1 import java.util.Scanner; 2 3 public class TestScanner { 4 public static void main(String[] args) { 5 Scanner input=new Scanner(System.in); 6 System.out.print("请输入您的姓名:"); 7 String name=input.next(); 8 System.out.print("请输入您的号码:"); 9 int num=input.nextInt(); 10 11 System.out.println(name+"您好!您的等待号码为:"+num); 12 13 } 14 }
注意: main方法是程序的一个入口
使用键盘录入的时候可以录入各种不同的数据 不过 要使用与之类型相同的类型去接收
------------ 自动类型转换
1 public class TypeChange { 2 public static void main(String[] args) { 3 double firstAvg = 81.29; // 第一次平均分 4 double secondAvg; // 第二次平均分 5 int rise = 2; 6 // 使用了 double 类型的 secondAvg 去接收了 int类型的 rise 7 // 和 double类型的 firstAvg 的和 8 secondAvg = firstAvg + rise; 9 System.out.println("第二次平均分是:" + secondAvg); 10 11 } 12 } 13 // 从中可以看出: 自动类型转换: 范围大的接收范围小的,(如果一个操作数是double类型 那么整个表答式可提升为double类型) 14 //要满足两个条件 1、两个中类型要兼容(数值类型互相兼容(整型与浮型)) 15 // 2、目标类型要大于源类型
-- -- 强制类型转换
从中我们可以看出:
1、 强制类型转换 就是 让范围为小的 去接收范围大的
2、强转就是在范围大的前面 强制声明成范围小的
3、会造成精度的丢失
---- 赋值运算符 =
简而言之: 就是 把右边的赋值给左边的
练习: 实现两个数的互换:
我收集了三种方式 前面两种比较好理解:
1、第一种使用第三方变量来进行互换
2、 不使用第三方变量
3、这一种主要使用的 按位与 与运算 6 是 0110 4 是0100 与运算 有1 取 1
---- 算数运算符
import java.util.Scanner; public class GookLuck { /* * 幸运抽奖 */ public static void main(String[] args) { int custNo; // 客户会员号(说明:customer---客户) // 输入会员卡号 System.out.println("请输入4为会员卡号:"); Scanner input = new Scanner(System.in); custNo = input.nextInt(); // 获得每位数字 int gewei = custNo % 10; // 分解获得个位数 int shiwei = custNo / 10 % 10; // 分解获得十位数 int baiwei = custNo / 100 % 10; // 分解获得百位数 int qianwei = custNo / 1000; // 分解获得千位数 // 计算数字之和 int sum = gewei + shiwei + baiwei + qianwei; System.out.println("会员卡号" + custNo + "各位之和: " + sum); boolean isLuck=sum>20; System.out.println("是幸运客户吗?" +isLuck); } }
----- 关系运算符
条件运算符
条件是true 走第一个表达式 第二个表达式只会在条件为false的时候才会运行
这个语句的目的是 求出条件的最小值