栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java基础】第一章Java数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java基础】第一章Java数据类型

第一章 Java数据类型

在计算机编程中,实体类型的实现必然会涉及到数据类型的概念
了解数据类型的分类、特性和管理的过程有利于更灵活地使用和理解计算机语言
本博客中,将对于Java中数据类型的划分、划分原因和其他的数据类型的区别做出讲解
并且利用实际的编程,深化对于不同数据类型产生和存储的理解

目录
  • 第一章 Java数据类型
    • 一、数据类型
      • (1) 基础数据类型
      • (2) 引用数据类型
    • 二、编程比较
      • (1) 对于多属性对象的相等判断
      • (2) 对于字母内容不区别大小写情况下的相等判断

一、数据类型 (1) 基础数据类型

基础数据类型和其他数据类型的最大的区别是bit上的,在创立基础数据类型的时候,计算机会分配一个固定长度的内存来进行存储,本篇博客会给出数据类型对应的bit值。

Java中存在的4种主要的数据类型和它们对应的bit值:

  1. 整形(byte short int long)
  2. 浮点型(float double)
  3. 字符型(char)
  4. 布尔型(boolean)
名称bit值名称bit值
byte8float32
short16double64
int32char16
long64boolean8

//小小提示:关于bit值和可以表示的数字的范围可以自行思考,比较简单,这里省略~

(2) 引用数据类型

类 数组 接口

  • String字符串
  • 初始化默认值:null
  • 创建的时候有两个原子操作,基础的数据类型就只有一个原子操作
    String str;
    str = " ";
  • String类型和基本数据类型的区别
    1)在内存中存在堆内存和栈内存,堆内存是共享的,而栈内存是私有的
    2)在创建基础数据类型时,会在栈内存中直接占用一个固定大小(这个大小就和我们上面提到的bit值是一致的),在给数据赋值的时候,栈内存内的数据变动
    3)而在创建String的时候,会在栈内存里面生成一个地址编码,这个编码指向堆内存中的一块内存,真正的数据存储在堆内存里面
    4)如果比较两个String的话,其实是在比较两者的地址编码,而不是在比较其中的内容
    直观的来看就是这样的:

    而为什么要这样设置的原因,与所要表示的长度限制有关,比如String的长度位置,难以用bit来描述范围
  • List类型和String类型同理:从概念上,它们都是类

//这个具体的更多之后展开补充~

二、编程比较

talk is cheap,show me the code~
为了更加了解上述的内存的区别,编写程序来判断储存的区别

(1) 对于多属性对象的相等判断
package com.cjx0929;

public class User{
   // 编写User的属性
	String name;
	String id;
	int age;
	int[] list;
// 初始化	
public User(String name, String id, int age,int[] list){
	this.name = name;
	this.id = id;
	this.age = age;
	this.list=list;
}

// 判断字符串是否相等的函数,如果长度不等就直接不等,如果相等再一个个比较内容
//也可以使用.equals()的方法进行比较,!=比较的是地址
public boolean equalsString(String a,String b) {
	if(a.length()!=b.length())
	{
		return false;
	}
	for(int i=0;i 

输出结果

false
true

符合之前的学习知识,改变实例的值,发现也符合我们的判断~

(2) 对于字母内容不区别大小写情况下的相等判断

对于属性是字符串的形式,如果字母不区分大小写认为是相等的话,编程实现:

package com.cjx0929;

public class Alpha {
	String name;

public Alpha(String name)
{
	this.name = name;
}

// 可以将字母全部转化为大写的函数
public char transformAlpha(char a){
	int number1= Integer.valueOf(a);
	if(number1>96) {
		int number2 = number1-32;
		char b = (char)number2;
		return b;
	}
	return a;
}

public boolean equalChar(Alpha b){
	String name1 = this.name;
	String name2 = b.name;
	if(name1.length()!=name2.length())
	{
		return false;
	}
	for(int i=0;i 

输出结果

true
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号