Scanner的使用
1、导入Scanner类
import java.util.*;
2、创建Scanner对象
Scanner input = new Scanner(System.in);
3、获得键盘输入的数据
int now = input.nextln();
Scanner案例
//1、导入Scanner类
import java.util.*;
public class PrintInfo{
public static void main(String[] args){
//使用变量来存储个人信息
//(1)判断变量类型:姓名String 性别char 年龄int 考试分数double/float
//(2)给变量命名:姓名 name 性别 sex 年龄 age 考试分数 score
//(3)使用变量 数据类型 变量名 = 值;
//通过用户灵活的键盘录入,让数据灵活起来
//2、需要给用户开一个通过键盘录入的程序入口
Scanner inout = new Scanner(System.in);
//3、使用input获得字符串
System.out.println("请输入姓名");
String name = input.next();//获取字符串
System.out.println("请输入性别");
String sex = input.next();//获取字符串
System.out.println("请输入年龄");
int age = input.nextInt();//获取整型
System.out.println("请输入分数");
double score = input.nextDouble();//获取浮点型
System.out.println("姓名:" + name);
System.out.println("性别:" + sex);
System.out.println("年龄:" + age);
System.out.println("考试分数:" + score);
}
}
数据类型转换
数据类型分类
分类1
数值(整型int、浮点型float/double)
非数值(字符串String、字符char、布尔值boolean)
分类2
基本数据类型(int、float、double、char、boolean)
引用类型(String)
int num1 = 10;
double num2 = 9.8;//默认double, 或double num2 = 9.8d;
float num3 = 5.6f;
int num4 = num1-num2;//当表达式中有一个值为double类型时,整个结果提升为double类型
//转换1:强制类型转换(大=》小)
int num4 = num1 - (int)num2; //double=》int 会造成精度丢失
//转换2:自动类型转换(小=》大)
//条件:1、两种类型要兼容;2、目标类型大于源类型
double num5 = num1 + mun2;
运算符
赋值运算符
变量名 = 表达式;
//表达式就是符号(如加号、减号)与操作数(如b,3等)的组合
实现两数交换
int num1 = 8;
int num2 = 9;
int a;//定义一个int a
a=num1;//将数1的值存储到a
num1 = num2;//将数2的值赋值给数1
num2 = a;//将a中的数1的值取出,赋值给数2
算数运算符
public class CalcDemo{
public static void main(String[] arge){
//基本的算数运算
//+、-、*、/、%、++、--
int num1 = 9;
int num2 = 2;
System.out.println(9/2);//结果为4 取商
System.out.println(9%2);//结果为1 取余
//自加++、自减--
//++或--在前,先自加或自减,再运算
System.out.println(++num1); //同等于 num1 = num1 + 1; 结果为10
System.out.println(--num2); //同等于 num2 = num2 - 1; 结果为1
//++或--在后,先运算,再自加或自减
System.out.println(num1++); //同等于 num1 = num1 + 1; 结果为9
System.out.println(num2--); //同等于 num2 = num2 - 1; 结果为2
//复合算数运算符
//+=、-=、*=、/=、%=
num1 += 2; //同等于num1 = num1 + 2;
System.out.println(num1);
}
}
综合应用(案例)
//需求说明:
//键盘输入四位数字的会员卡号
//使用“/”和“%”运算符分解获得会员卡各个位上的数字
//将各个位上数字求和
import java.util.*;
public class text01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入您的会员卡号");
int hyk = input.nextInt();
int qw,bw,sw,gw;
qw = hyk / 1000;
bw = hyk / 100 % 10;
sw = hyk / 10 % 10;
gw = hyk % 10;
System.out.println("会员卡号是:" + hyk);
System.out.println("千位数:"+qw+",百位数:"+bw+",十位数:"+sw+",个位数:"+gw);
int sum = qw+bw+sw+gw;
System.out.println("会员卡号"+hyk+"各位之和:"+sum);
}
}