blog 2019.2.26 day2 java基本语法

Day 2

电脑如何识别 java c这些语言
计算机只能识别0 1 如何识别public static这些指令?
由java虚拟机来完成 把代码转换成二进制让计算机运行 (安装配置环境就是为了部署虚拟机)
在这里插入图片描述

算法设计:找出若干个数中的最大值并输出
自然语言描述 的算法:
1)输入第一个数,并令其为MAX
2)输入一个数x,若新数x>MAX,则令MAX=x
3)数据输入结束了吗?若是,则输出MAX的值,算法结束;否则,转第2)步。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可移植性:在一台机器上写好的程序在任意电脑上均可运行

虚拟机工作原理(面试题):在这里插入图片描述
虚拟机用于解释 只要有虚拟机 可以在任何系统中运行java在这里插入图片描述

垃圾收集机制(内存收集机制) 自动回收内存
c/c++只可通过代码回收
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

布尔型:true or false
在这里插入图片描述

一个字节有8位,计算机内表示为二进制。
例如 byte60 在计算机内表示为 00111100 (8位)
short 16位
int 32位
long 64位
在这里插入图片描述
在这里插入图片描述

将运算指令发到cpu内 cpu运算完成返回result

在这里插入图片描述

在这里插入图片描述
2e10代表2乘10的十次方。

float和double的区别
1.在内存中所占字节不一样。float称为单精度,double称为双精度
2.有效数字的位数不同。
float:在表示数字的时候,有效数字是8位
double:在表示数字的时候,有效数字是16位
当整数位为0时,小数位最大位8或16位
非零的话,前后加起来一共8/16位
3.取值范围不同
4.在程序中处理速度不同 ,一般来说,cpu处理单精度的值比处理双精度的要快,float处理效率更高。
在定义浮点数的时候,默认使用double.
在这里插入图片描述

定义时,默认都是double 若一定要用float,则需要在赋值后面加一个f 大小写均可

在这里插入图片描述
在这里插入图片描述

整数位为0,分别精确到8、16位
整数位非0,则整个数值一共为8、16位(若整数位为123,则float仅精确到后5位)。

取值float时 有时候会前进一位、两位或者不进位----精度缺失—与小数转化成二进制时产生的无限循环问题有关

十进制的小数如何转化为二进制?
在这里插入图片描述
一直循环 所以float转换时会出现不同的结果

在这里插入图片描述
double型,整数为0时,小数可以精确到17位。

在这里插入图片描述
**计算机中的精度丢失问题。**为了解决这个问题 ,需要引入BigDecimal来表达更加精确的小数。java的设计者提供了一个很有用的类 BigDecimal,可以完善float和double无法精确计算的一个缺陷。
在这里插入图片描述
在这里插入图片描述
若不考虑精度问题,只做数字相加,可用双引号,通过字符串的形式进行传递。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
char类型可以存数字 不报错
一个char 只能存1一个中文 编程中可以用来存放男、女

boolean 仅赋值正误,默认内存是4个字节
在这里插入图片描述

string (引用类,字符串数据类型,不属于基本数据类型)用于存放字符串
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
两行注释代表了两种解释方法

在这里插入图片描述

第一次赋值—叫做初始化
以后要改变这个值----叫做赋值
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过final + float + 大写字母 来定义一个常量
注意常量一定要是大写字母!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
此类关键词一般在编译软件内会自动变色 加粗处理。

在这里插入图片描述
数据类型自动转换,小的类型在进行计算的时候会自动转化为大的类型。在使用整数的时候默认是int,在使用浮点数的时候默认是double。比如short和int相加,结果的精度遵循大的来 --int。
转换顺序:byte-short-int-long-float-double
在这里插入图片描述
int long 在和float double相加时,均变成float double型。1(int)+1.2(float)=2.2(float)
byte和byte相加,short和short相加,默认转化成int。
btye和int相加,默认转化成int。
在这里插入图片描述
a和b的ASCII码相加,得到195,仍然是int类型。

byte和short相加,结果仍然是int。

int long相加用Long

关于 浮点数相加。
float float相加可用float
float double相加肯定是double。

实际开发时,可以数据类型强制转换。
byte byte相加,可以强制使用byte来存储而不是int(为了节省空间)
注意后面的括号 (b1+b2)
强制转换

数据强制转化产生的问题:
1.数据丢失问题:当前空间无法将数据完全装下来

若计算带小数的,需定义成float/double类型
若使用int 比如 int a = 1/10 输出的只有整数位0

在这里插入图片描述
字符串转数字。 输出的12已经是数字 而不是字符串了

猜你喜欢

转载自blog.csdn.net/qq_39263750/article/details/87932130