一、String
示例
class StringTest
{
public static void main(String[] args)
{
int number = 1001;
String numberStr = "学号:";
String info =numberStr + number;//连接运算
System.out.println(info);
//************
//练习1
char c = 'a';//a: 97 A:65
int num = 10;
String str = "hello";
System.out.println(c + num + str);//107hello
System.out.println(c + str + num);//ahello10
System.out.println(c + (num + str));//a10hello
System.out.println((c + num) + str);//107hello
System.out.println(str + num + c);//hello10a
}
}
小结
1.String属于引用数据类型,不是基本数据类型。
2.声明String类型变量时,使用一对“ ”。String可以为空,char里面有且仅有一个,不能为空
3.String可以和8种基本数据类型变量做运算,且只能做连接运算。
4.与String运算的结果还是String类型。
二、强制类型转换
示例
class ChangeTest
{
public static void main(String[] args)
{
//1.编码情况1:
long l = 123213
System.out.println(l);
//编译失败:过大的整数
//long l1 = 151313532135315;
long l1 = 151313532135315L;
//*************
//编译失败(后面加f)
//float f1 = 12.3;
//编码情况2:
//整型常量:默认为int型
//浮点型常量:默认为double型
byte b = 12;
//byte b1 = b + 1;//编译失败(1,默认为int型)
float f1 = b + 12.3;//编译失败(12.3,默认为double型)
}
}
三、算数运算符
示例
class AddTest
{
public static void main(String[] args)
{
//前++:先自增1,然后运算
int a = 10;
int b = ++a;
System.out.println("b = " + b);
//后++:先运算,然后自增1
int c = 20;
int d = c++;
Systrm.out.println("d = " + d);
byte bb1 = 127;
bb1+;
System.out.println("bb1" = +bb1);//-128
int a = 10;
//实现+2的操作,有2种方法
//方式一
a = a + 2;
//方式二
a += 2;
//打印153的个位,十位和百位的数值
int num = 153;
int bai = num / 100;
int shi = (num % 100) / 10;
int ge = num % 10;
System.out.println("百位为:" + bai);
System.out.println("十位为:" + shi);
System.out.println("个位为:" + ge);
}
}
小结
1.自增1和+=,*=都不会改变原本的数据类型
左移右移和三目运算符
小结
1.位运算符操作的都是整型的数据
2. <<:在一定范围内,每向左移一位,相当于 *2
>>:在一定范围内,每向右移一位,相当 于/2
最高效的2 * 8的实现方式:2<<<3 或者 8<<<1
3.三目运算符:结构:(条件表达式)?表达 式1:表达式2
如果条件表达式为true,则执行1
如果条件表达式为false,则执行2
Scanner:从键盘获取变量
示例
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
//Scanner的实例化
Scanner scan = new Scanner(System.in);
//调用Scanner类的方法
System.out.println("请输入姓名:");
String name = scan.next();
System.out.println(name);
//对于char类型的获取,Scanner没有提供相关方法,只能获取一个字符串
System.out.println("请输入性别(男/女):");
String gender = scan.next();
char genderChar = gender.charAt(0);
System.out.println("请输入年龄:");
int age = scan.nextInt();
System.out.println(age);
}
}
小结
实现步骤:
1,导包:import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法,来获取指定类型的变量
注意:需要根据相应的方法,来输入指定类型的值,如果输入的数据类型与要求的类型不匹配时,
会报异常:inputMisMatchException,导致程序终止