二、语言基础

本文介绍了计算机内存的基础知识,包括内存与硬盘的区别、Java程序默认内存分配以及存储容量单位。接着讲解了变量的概念、组成和类型,强调了强类型编程语言中类型匹配的重要性。在数据类型部分,详细阐述了各种基本数据类型如整型、字符型以及它们的取值范围。最后,讨论了类型转换,包括自动类型转换和强制类型转换,并给出了实例。此外,还展示了如何从控制台读取用户输入的整数。
摘要由CSDN通过智能技术生成


1. 前置知识

I. 什么是内存?
内存即是一块瞬时状态的存储空间,有一定的容量。
II. 内存与硬盘的区别?
内存的造价比较高,整个的计算机硬件资源是比较稀缺的。(内存得省着点用)
工业上的瓶颈,多数大容量的内存都是由多个内存条组成的。
III. 计算机给Java程序大多的内存空间?
Java虚拟机(Java程序),默认分配的物理内存容量是计算机1/8。(省着点用)
IX. 计算机存储容量的基本单位?
bit(位-8位等于1个字节) - Byte(1字节) - KB - MB - GB - TB - PB - EB - ZB - YB - BB - NB - DB - CB - XB(都是1024的进制关系)

2. 变量

I. 概念:计算机内存中的一块存储空间,是存储数据的基本单元。
II. 组成:数据类型、变量名、值。
III.注意: = 代表的是赋值运算符(将等号右边的值,赋值给等号左边的变量)
IV. int = Integer(整数)
V. 强类型编程语言:要求变量的类型与值的类型要一致。
等号左边:int money(存储整数的,所以只能存整数)
等号右边:100(本身就是整数,只能存到整数的变量里)
不是当前重点:JavaScript前端脚本编程语言(弱类型编程语言),变量是通用的,存什么都可以

3. 数据类型

基本数据类型:
整数 byte short
int
int类型的传递,当int2值改变的时候,int1的值是没有任何变化的,所以基本类型都是根据它的值去传递的,传递之后,int2的值得改变和int1的值已经没有任何关系了
long
注意:Java中任何一个整数,默认的类型是int,如果书写的数字超过int的取值范围,即被视为过大的整数。

long l1 = 9223372036854775807l; //有问题,加L变成long类型
long l2 = 2147483648L;
System.out.println(l1 + l2); //内存溢出了

在这里插入图片描述

byte的取值 -128 ~ 127

byte myByte = (byte)128; 
//有符号数,首位为符号位,符号位为0时,代表整数,为1时代表负数
//当byte的最大取值(127)+ 1时,则有效的8位空间中,符号位发生变化,将128变为了负数
  • DOS操作命令
    在这里插入图片描述

  • 小数
    在这里插入图片描述

  • 布尔
    在这里插入图片描述

  • 字符
    在这里插入图片描述
    注意:char类型也支持整数表现形式,但char类型是无符号数,其实中所有值,均为正数。取值范围:0~65535

在这里插入图片描述

  • 转义字符
    在这里插入图片描述

char类型是支持 \ 转义
使用 \ 将“本身具有特殊含义的字符” 转换成 “普通字符”。
使用 \ 将“普通字符” 转换成 “本身具有特殊含义的字符”。
System.out.print(“\n”)手动换行
String字符串
任何" "之间的内容都是字符串,包括空格。
String str = “HelloWorld”;
String str2 = str1; 这句话可以理解为 String str2 = new String(str1); 把str1当做参数传递过去,重新new了一个新的String,所以str2的值和str1的值 虽然是一样的,但是str2 和str1却不是同一个String。String是一个特别特殊的类型,无论你怎么修改String的值,他都是在new一个新对象然后付给原String!!!

在这里插入图片描述

4. 类型转换

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

在这里插入图片描述

  • 自动类型转换
    在这里插入图片描述
  • 运算符
    在这里插入图片描述

在这里插入图片描述

  • 自动类型提升

在这里插入图片描述

byte g = 10;
int h = 20;
int result4 = g + h;   //要用int类型

int num1 = 123;
int num2 = 567;
String str = "abc";
String newStr = num1 + num2 + str;//坑 ,两个操作数为数值时,相加; 两个操作数有一个为String,拼接。
System.out.println(newStr);  //690abc
  • 控制台输入
    在这里插入图片描述
//package xxx.xxx;  包的声明,要求写在源文件的首行
//import 关键字的引入,写在package之后

import java.util.Scanner; //1.引入JDK提供的一个“扫描仪”的工具

public class TestScanner{
	
	public static void main(String[] args){
		
		//数据类型 变量名 = 值;
		
		//2.声明Scanner
		Scanner input = new Scanner(System.in); //引用数据类型的声明方式
		
		System.out.println("请输入一个值:");
		
		//3.使用:基于Scanner类型的变量名 .nextInt();         
		int i = input.nextInt(); //作用:可以在控制台接收一个整数的值,并保存在变量中。
		System.out.println( "您输入的值为:" + i );// 您输入的值为:123
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值