java(基础)一

java特性和优势

  • 简单性
  • 面向对象
  • 可移植性
  • 高性能
  • 分布式
  • 动态性
  • 多线程
  • 安全性
  • 健壮性

JDK JRE JVM

JDK 最大 包着以下两个

Java Development Kit

JRE

Java Runtime Environment

JVM

JAVA Virtual Machine

数据类型

  • 强类型语言

    • 要求变量的使用有严格符合规定,所有变量都必须先定义后才能使用
  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本类型(primitive type)
    • 引用类型(reference type)

数据类型

基本类型(primitive type)

  • 数值类型
整数类型字节大小范围
byte1-128-127
short2-32768-32767
int4-2147483648-214748364
long8-9223372036854775808-9223372036854775807
浮点类型字节大小
float4
double8
字符类型char2
  • boolean类型:占1位其值只有true和false两个

整数拓展: 进制 二进制ob 十进制 八进制0 十六进制0X

										输出
int i = 10;								10				
int i = 010;  //八进制0				   8
int i = 0x10;  //十六进制0X  0~9 A~F 16	  16
int i = 0x11;							 17

浮点数拓展 银行业务怎么表示? 钱

  • BigDecimal 数学工具类

  • float 有限 离散 舍入误差 大约 接近但不等于

  • double

  • 最好完全避免使用浮点数进行比较

float f = 0.1f; //0.1
double d = 1.0/10; //0.1
输出
f==d			//false
float d1 = 23131654351F;
float d2 = d1 + 1;
输出
d1==d2 			//true
  • 字符拓展

    char c1 = 'A';
    char c2 = '中';
    输出
    c1 = A
    (int)c1 = 	65	//强制转换
    c2 =//强制转换
    (int)c2 = 	20013	//强制转换
    
    • 所有的字符本质还是数字
      • 编码 Unicode 表: (97 = a 65 = A)2字节 0 - 65536 Excel 2 16 = 65536
      • U0000 UFFFF
char c3 = '\u0061';
输出
c3 = a;

转义字符

  • \t 水平制表符
    • \n 换行

输出

Hello\tWorld = Hello World

Hello\nWorld = Hello

​ World

对象 从内存分析

输出
String sa = new String("hello world");
String sb = new String("hello world");
sa = sb			//false		
String sc = "hello world";
String sd = "hello world";
sc = sd			//true

什么是字节

  • 位(bit): 是计算机内部数据 储存的最小单位,11001100是一个八位二进制数。
  • 字节(byte): 是计算机中 数据处理 的基本单位, 习惯上用大写 B 来表示,
  • 1B(byte,字节)= 8bit(位)
  • 字符: 是指计算机中使用的字母 数字 字和符号

类型转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSXNw8pl-1596557159876)(C:\Users\10560\AppData\Roaming\Typora\typora-user-images\image-20200804233646771.png)]

注意点
  1. 不能对布尔值进行转换
  2. 不能把对象类型转换不相干的类型
  3. 在把高容量转换到低容量的时侯,强制转换 //比如int i = 1; 输出((byte)i)
  4. 转换的时侯可能存在内容溢出,或者精度问题!

JDK7 新特性,数字之间可以下划线分割

int money = 10_0000_0000;
int years = 20;
int total = money*years;	//-1474836480,计算的时侯溢出了
long total2 = money*years;	//默认是int,转换之前已经存在问题了?
long total3 = money*((long)years);	//先把一个数转换为long
输出才正常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值