用于描述单个字符 char: 'a',占据2个字节,没有符号位,表示范围为 0~65535
更常用字符串 String
ASCII :对字符进行指定编号,使其适用于在计算机中存储(计算机底层只能识别0和1 组成的二进制序列)
public class CharText {
public static void main(String[] args){
char c1 = 'a';
char c2 = 98; //可以直接用编号给 char赋值
System.out.println("c1= " +c1);
System.out.println("对应的编号是 "+ c1); //表示将char类型强制转换为int类型并打印
System.out.println("c2 = " +c2); //打印出 c2 = b
}
}
'0': 48 'A':65 'a': 97 空格:32 换行符:10
双引号 " 默认为字符串的开头结尾标志, \" 转义为双引号自身,同理有 \' , \\ , \t 制表符, \n换行符
强制类型转换:大类型到小类型的转换 目标类型 变量名 = (目标类型)源类型变量名
public class TransformTest {
public static void main(String[] args) {
byte b1 = 10;
short s1 =20;
s1 = b1; //表示将变量b1的数值类型赋值给变量s1,并覆盖s1原来的数值,自动转化
System.out.println("b1 = "+b1); //b1=10
System.out.pringln("s1 =" +s1); //s1 =10
b1 = (byte)s1; //强制将short转换为byte
System.out.println("b1 = "+b1); //b1=10
System.out.pringln("s1 =" +s1); //s1 =10
s2 = 128;
b2 =(byte)s2;
System.out.println("b2 = "+b2); //b2=-128 128二进制为10000000,对byte而言,最高位是符号位,1表示负数,所以减一01111111,取反10000000 添加负号最终得到 -128
System.out.pringln("s1 =" +s2); //s2 =128
}
}
public class ArithmeticText {
public static void main(String [] args){
int ia = 6;
int ib = 2;
int ic = ia + ib;
System.out.println(" ic = " +ic);
System.out.println(ia+ib); //ia,ib称作操作数, +,-,*,/,%称作运算符
System.out.println(ia-ib);
System.out.println(ia*ib);
System.out.println(ia/ib);
System.out.println(ia%ib);
}
}
运算符注意事项:
~当两个整数相除时,结果只保留整数部分,丢弃小数部分 如 System.out.println (5/2)输出为2,解决方法:
1.使用强制类型转换,将其中一个操作数转换为double类型 如 System.out.println((double)5/2)
2.让其中一个操作数乘以1.0 如System.out.println(5*1.0/2) (推荐)
import java.util.Scanner;
public class ArithmeticText {
public static void main(String[] args) {
System.out.println("请输入一个正整数的秒数 : ");
Scanner sc = new Scanner(System.in); //提示用户输入正整数的描述并使用变量记录
int num = sc.nextInt();
int hour = num /3600;
int min = num%3600/60;
int sec = num%60;
Systerm.out.printlin(num +"秒转换为” + hour +"小时" +min +"分钟" +sec +"秒种");
}
}
“+”既可以作为加法运算符,也可以作为字符连接符:只要+两边的操作数中有一个操作数是字符串类型,该+就被当作字符串连接符
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
System.out.println("请输入一个整数: ");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
boolean b1 = num <0;
System.out.println("b1 = "+ b1);
System.out.println(num <0);
}
}