初学JAVA——语言基础

二、语言基础
1.前置知识
1.1什么是内存?
内存是瞬时状态下的存储空间。读取速率非常快(造价高、工业的设计瓶颈、稀缺)
1.2显存
即显卡上的显存,是作用于图片的读写
1.3硬盘
存储永久数据
2.变量(最后存入的内存)
2.1概念:计算机内存中的一块存储空间,是存储数据的基本单元。
(整个内存就像酒店,当中包含的许多的房间)

	变量的组成:
	房间的类型又有不同(单人间、双人间)
	每一房间都有一个唯一的门牌号
	酒店的房间———>变量
	房间的类型———>数据类型
	房间门牌号———>变量名
	房间的住客———>值

2.2Java 虚拟机(Java运行程序)默认分配到的物理内存是1/8。
2.3单位 BIT<KB<MB<GB<TB<PB<EB<ZB<YB<BB<NB<DB<CB<XB
2.4变量的定义流程
2.4.1声明
数据类型 变量名;
int money ; //开辟整数变量空间
在内存中开辟一块整数存储空间,名称为money;

①分配一个空间——给到虚拟机(在内存中)—>起一个名字
②把值存进去。	

2.4.2赋值
变量名 = 值;
money = 100; //将整数值赋给变量
将100这个值,存储赋值到money这个空间中(变量);
注:Java是强类型语言,变量的类型必须与数据类型一致
2.4.3声明变量的三种方式
先声明,在赋值:[常用]
数据类型 变量名;
变量名=值;
声明并赋值[常用]
数据类型 变量名 = 值;
多个同类型变量的声明与赋值[了解]
数据类型: 变量1,变量2…=值4;
注意:变量需要先赋值,再使用,否则,错误,尚未初始化。
3.数据类型:

Java中的变量具有严格的数据类型区分(强类型语言)
在Java语言中,任何一个值都有其对应的类型变量。
Java中的数据类型(基本数据类型+引用数据类型)

3.1基本数据类型:
3.1.1).整数
类型 字节 取值范围
byte 1字节 -27 ~ 27-1 -128~127
short 2字节 -215 ~ 215-1 -32768~32767
int 4字节 -231 ~ 231-1 -2147483648~2147483647
long 8字节 -263 ~ 263-1

long =2147483648L;
为什么加了L就可执行?
进行强制转换(明确告诉虚拟机多加一个变量表,将值变成两个即可存下)
程序运行过程中,瞬时空间(局部变量表—slot槽)
注意:Java中任何一个整数,默认的类型是int,如果书写的数字超过int的取值范围,即被视为过大的整数。如需为long类型赋值,需要在值的后面追加“L”。
整数的二进制表示
1byte == 8bit 0000 0000
128 64 32 16 8 4 2 1
0 1 1 1 1 1 1 1 是= 127 首位是符号0为正 1为负

3.1.2). 小数(浮点数):
单精度 float 4字节 -3.4E+38~-1.4E-45 1.4E-45 ~ 3.4E+38
双精度 double 8字节 -1.7E+308 ~ -4.9E-324
4.9E-324~1.7E+308

小数类型默认为double,如需存入至float变量中,请追加F。
Java中的小数支持科学计数法的 2E3=2103 5E8=5105

①在Java中如果认为一个浮点数超过范围或认定无法遵从IEEE754标准数值,则为异常Infinity

3.1.2). 布尔
boolean 1字节 取值范围只有 true / false ,非真即假,常用来表达判断的结果。
Java中的boolean不能参与运算。(与数据库中boolean区分开 2字节)
3.1.3). 字符(character)
char 2字节 0~65535 每一个字符的背后,都有一个数字做代表(对照、参照表—ASCII美国标准信息交换码、Unicode万国码)
ASCII
字符赋值 char c1 = ‘A’; (通过 ’ ’ 描述为字符赋值)
整数赋值 char c2 = 65;(通过十进制数65在字符集中对应的字符赋值)
进制赋值 char c3 = ‘/u0041’(通过十六进制数41在字符集中为字符赋值)
你 23320 好 22909

注意:char类型也支持整数表现形式,但char类型是无符号数,其实中所有值,均为正数。取值范围:0~65535

3.1.3.1)char类型是支持 \ 转义
使用 \ 将“本身具有特殊含义的字符” 转换成 “普通字符”。
使用 \ 将“普通字符” 转换成 “本身具有特殊含义的字符”。
\n 换行符 \t 缩进(制表位)
\ 反斜线 ’ 单引号 " 双引号

3.2 引用数据类型(字符串+数组)
除了基本数据类型,其余都是引用数据类型
String 任何“ ”之间的字面值
String str1 = “ 你好”;
字符串内部是字符数组。
4.类型转换
4.1自动类型转换;两种数据相互兼容
目标类型 > 原类型

short s =123; 
int i= s;
byte b = (byte)s;//强制转换

4.2整数强转为整数 打的往小的里面放会 截断

short m =258;     //short 258  0000  0001 0000 0010
byte n=(byte)m;   //byte                  0000 0010
System.out.println(n);//                 ⬆此为符号位 
n==2;

4.3规则:
整数长度足够,数据完整 int i =100; byte b = (byte)i; b=100
整数长度不够,数据截断 int i = 1000; b = (byte)i; b=16(若符号位变化则为负)
小数强转整数,数据截断 double s=2.5; int i = (int )d; i=2
字符整数互换,数据完整 char c =65; int i=c; i=65

4.4
强制类型转换:两种类型相互兼容,目标类型小于源类型。
通过在源类型前面,加上 (目标类型) ,达到强制转换的目的,但是,有可能失去精度
如:小数强转为整数,则失去精度,小数点之后的值,无法保留。

5.运算符
5.1两个操作数进行计算
+ 加,求和
- 减,求差
* 乘,求积
/ 除,求商
% 模,求余
5.2一元运算符(只有一个操作数)
++ 递增,变量加一
– 递减,变量减一

int b=3;
int a=b++;先赋值再自增       int c = ++b;自增并赋值
e=3 b=4                      c=4,b=4

5.3赋值运算符
= 直接赋值
+= 求和后赋值
-= 求差后赋值
*= 求积后赋值
/= 求商后赋值
%= 求余后赋值

5.4关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于

5.5逻辑运算符
两个boolean类型的操作数或表达式进行逻辑比较
&& 与(并且) 两个操作数,同时为真,结果为真
|| 或(或者)两个操作数,有一位真,结果为真
!非(取反)意为”不是“,真即假,假即真。
5.6三元运算符
?:
布尔表达式?结果1:结果2
当表达式结果为真,获得结果1
当表达式结果为假,获得结果2

int day=28;
String tag = day == 28 ? "生日快乐" : "继续等待";

6控制台输入
程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行。
语法: import 报名。类名;
/将外部class文件功能引入到自身文件中
①定义包:明确该文件的.class文件的目录结构
使用顺序
a)导入 import java.util.Scanner;
b)声明 Scanner 类型的变量
c)使用Scanner类中对应的函数(区分类型)
d) .nextInt(); 获得整数

Scanner input = new Scanner(System.in);
int num =input.nextInt();
将控制台获取到的一个整数值,赋值给num变量
.nextDouble(); //获得小数
.next();//获得字符穿、串
.next().charAt(0);//获得单个字符
注:如果输入了不匹配的数据。则会产生
java.util.InputMismatchException

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值