1.Java数据类型及转换

1.java标识符的命名规则和规范

标识符的命名规则:
  1. 由26个英文字母大小写,0-9,_ 或者 $ 组成

  2. 数字不可以开头

  3. 不可以使用关键字和保留字,但能包含关键字和保留字

  4. java中严格区分大小写,长度无限制

  5. 标识符不能包含空格

标识符的命名规范:
  1. 包名:多单词组成时所有字母都小写:aaa.bbb.ccc

  2. 类名、接口名:多单词组成时,所有单词的首字母大写:AaaBbbCcc

  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:aaaBbbCcc

  4. 常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ

2.java中常用的转义字符

\t : 一个制表位,实现对齐功能

\n : 换行符

\\ : 一个\

\" : 一个"

\' : 一个'

\r : 一个回车

3.注释

注释用于注解说明,不会被编译器执行,提高了代码的阅读性,程序员需要有一个良好的写注释习惯

java中提供了三种注释类型:单行注释 多行注释 文档注释

文档注释:注释内容可以被JDK提供的工具 javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档

文档注释生成命令(注意编码格式,否则会报编码映射错误):javadoc -d 文件夹 -参数 -参数 文件名

/**
* @author 小明
* @version 1.o
*/
public class HelloWorld{
	//单行注释
	public static void main(String[] args){
        /*
		多行注释
		......
		......
		*/
        System.out.print("Hello World");

	}
}

4.变量

**概念:**相当于内存中一个数据存储空间的表示,通过变量名可以访问到变量中存储的值,值是可以改变的

注意事项:

  1. 变量必须先声明,后使用
  2. 变量表示内存中的一个存储区域(不同的变量,类型不同,存储空间也不相同)
  3. 变量在同一个作用域内不能重名
  4. 变量三要素:变量名、值、数据类型
int a; //声名
a = 100; //赋值
System.out.println(a); //输出变量a的值

5.程序中 + 号的使用

  1. 当左右两边都是数值型时,则做加法运算
  2. 当左右两边有一方为字符串,则做拼接运算
System.out.println(10 + 20); //30
System.out.println("10" + 20); //1020
//注意下面两个输出结果,加法是从左到右依次做运算的
System.out.println("hello" + 10 + 20); //hello1020
System.out.println(10 + 20 + "hello"); //30hello

6.java数据类型

1.基本数据类型
  • 整数类型:
类型字节取值范围(二进制)取值范围(十进制)
byte1字节-2^7 ~ 2^7-1-128 ~ 127
short2字节-2^15 ~ 2^15-1-32768 ~ 32767
int (常用)4字节-2^31 ~ 2^31-1-2147483648 ~ 2147483647
long8字节-2^63 ~ 2^63-1-9223372036854775808 ~ 9223372036854775807
byte num1 = 10;
short num2 = 1000;
int num3 = 10000000;
//java的整数常量默认为int型,声名long型常量须在后面加"l"或"L"
long num4 = 100000000000000L;
  • 浮点(小数)类型:
类型字节取值范围
float (单精度)4字节-3.403E38 ~ 3.403E38
double (双精度)8字节-1.798E308 ~ 1.798E308
//java的浮点型常量默认为double型,声名float型常量,须在后面加"f"或"F"
float num5 = 1.1111F;
double num6 = 1.11111111111111;

(1)浮点型常量有两种表示形式

十进制数形式: 1.32 12.0F .123

科学计数法形式: 1.34e2[1.34乘以10的2次方] 1.34e-2[1.34除以10的2次方]

(2)浮点数使用陷阱

如下:通过计算得到的小数和直接赋值的存在差异,这是计算机本身的漏洞,做比较运算时需特别注意

double d1 = 2.7;
double d2 = 8.1 / 3;
System.out.println(d1); //2.7
System.out.println(d2); //2.6999999999999997
  • 字符型:
类型占用存储空间范围
char2字节单个字符,例: ‘a’ , ‘我’
//字符常量是用单引号 '' 括起来的单个字符。例如:
char c1 = 'a';
char c2 = '你';
char c3 = '\t'; //这里的 "\" 代表的转义,实际还是一个字符
char c4 = 98;

//在java中,char的本质是一个整数,在输出时,是unicode码对应的字符
//可以直接给char赋值一个整数,在输出时,会按照对应的unicode字符输出
System.out.println((int) c1); //97
System.out.println(c4); //b

//char类型是可以进行运算的,相当于一个整数,因为它对应有unicode码
System.out.println(c1 + 10); //107
System.out.println('你' + 100); //20420
  • 布尔型:
类型占用存储空间范围
boolean1bit(位)只存放 true 或 false
boolean isPass = true; //java中boolean的取值只能用true或false,不能用0或别的值b,会报错
if (isPass == true) {
	System.out.println("考试通过");
} else {
	System.out.println("考试失败");
}
2.引用数据类型
  • 类(class)
  • 接口(interface)
  • 数组([ ])
3.介绍下字符编码表:
  • ASCII(ASCII编码表一个字节表示,一共128个字符)
  • Unicode(Unicode编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间)
  • utf-8(大小可变的编码 字母使用1个字节,汉字使用3个字节)
  • gbk(可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)
  • gb2312(可以表示汉字,表示范围小于gbk)
  • big5(繁体中文,台湾,香港喜欢使用)

7.基本数据类型转换

1.自动类型转换

当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这就是自动类型转换

int a = 'A';
double d = 10000;

数据类型按精度大小排列为:

char --> int --> long -->float --> double

byte --> short --> int --> long -->float --> double

自动类型转换细节:

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算

当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会进行自动类型转换

(byte,short)和char之间不会相互自动转换

byte b = 100;
//错误: char c = b;
char c = (char)b;

byte,short,char 它们三者可以计算,在计算时首先会转换成int类型

boolean 不参与转换

自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

2.强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但可能造成精度降低或溢出,使用时需格外注意

int i = (int) 1.9;
System.out.println(i);

int j = 100;
byte b = (byte) j;
System.out.println(b);

强制类型转换细节:

  • 当数据的从大到小转换时,就需要使用到前置转换
  • 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
//错误: int x = (int) 10 * 3.5 + 8 * 1.3;
int x = (int) (10 * 3.5 + 8 * 1.3);
  • char类型可以保存int的常量值,但不能保存int的变量值,需要强转
  • byte和short类型再进行运算时,当做int类型处理
char c1 = 1000;
int i = 100;
//错误: char c2 = i;
char c2 = (char) i;

基本数据类型和String类型转换

介绍:在程序开发中,我们经常需要将基本数据类型转换成String类型,或将String类型转成基本数据类型

3.基本数据类型转String类型

语法:将基本类型的值 + “” 即可

int num1 = 2000;
double num2 = 3.1415926;
boolean b = true;
// 基本数据类型 --> String
String str1 = num1 + "";
String str2 = num2 + "";
String str3 = b + "";
System.out.println(str1 + "\n" + str2 + "\n" + str3);
4.String类型转基本数据类型

语法:通过基本数据类型的包装类调用parseXX方法即可

String str = "123";
byte num1 = Byte.parseByte(str);
short num2 = Short.parseShort(str);
int num3 = Integer.parseInt(str);
long num4 = Long.parseLong(str);
float num5 = Float.parseFloat(str);
double num6 = Double.parseDouble(str);
boolean bool = Boolean.parseBoolean("true");

怎么把char类型转换成String类型呢?

不能转换,char类型是一个字符,字符串无论如何也没法转成一个字符,但是可以从中取出一个:

String str = "123";
char c = str.charAt(0); //在计算机里数字是由0开始的,也就是说 0->1 1->2
System.out.println(c); //1

注意事项:在将String类型转成基本数据类型时,要确保String类型能够转成有效的数据,比如我们可以把“123”转成一个整数,但时不能把“hello”转成一个整数,如果格式不正确,就会抛出异常,程序就会终止

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值