JavaSE学习day2_01, 数据类型

news/2024/7/7 20:23:40

1. 数据类型

1.1 Java中数据类型的分类,重点

  • 基本数据类型

  • 引用数据类型

1.2 基本数据类型的四类八种

整数类型:byte、short、int、long

浮点类型:float、double

字符类型:char

布尔类型:boolean,只有两个取值,true和false

注意:在C语言里,long 可以写为long  int, 而java语言里不可以.java语言里不存在long  int这种数据类型.如下:  这是C语言的.

这是java语言的:

 都报错了,因为java里没有这些数据类型.

而C语言里没有byte 这种数据类型.

扩展:

引用数据类型,在代码中除了上面的四类八种*其他所有的都是引用数据类型。*

基本数据类型需要记忆的

  • byte的取值范围:学过计算机组成原理的都知道.由于数据在内存中是以补码形式存在的,因此取值范围是补码的取值范围.

    -128 ~ 127

  • int的大概取值范围:

    -21亿多 ~ 21亿多

  • 整数和小数的取值范围的大小关系:

    byte < short < int < long < float < double

  •  

扩展:

不同的数据类型,在内存中占用的字节数量是不一样的。学过C语言知道.

1.3 不同数据类型变量的定义

注意点:

定义long类型变量的时候,后面的数据值要加L后缀。建议大写。(C语言里也是这样.)

定义float类型变量的时候,后面的数据值要加F后缀。建议大写。(C语言里也是这样.)

整数没有指定类型,默认是int类型

小数没有指定类型,默认是double类型.

代码示例:

//byte
byte b = 10;
System.out.println(b);//10
​
//short
short s = 100;
System.out.println(s);//100
​
//int
int i = 99;
System.out.println(i);//99
​
//long
//如果给long类型的变量赋值。
//后面的数据值要加L后缀。
//L可以是大写的,也可以是小写的。
//建议大写。
long n = 9999999999L;
System.out.println(n);
​
//float
float f = 11.1F;
System.out.println(f);
​
//double
double d = 10.2;
System.out.println(d);
​
//char
char c = '我';
System.out.println(c);
​
//boolean
boolean bb = true;
System.out.println(bb);

1.4 变量的练习

练习的目的:

以后在实际开发中,根据不同的数据来选择不同的数据类型

练习1:

定义变量记录老师的信息。

代码示例:

public class VariableDemo2{
    public static void main(String[] args){
        //老师的姓名
        String s = "黑马谢广坤";
        //老师的年龄
        int i = 18;
        //老师的性别
        char c = '男';
        //老师的身高
        double d = 180.1;
        //是否单身
        boolean b = true;
        //输出所有变量
        System.out.println(s);
        System.out.println(i);
        System.out.println(c);
        System.out.println(d);
        System.out.println(b);
    }
}

练习2:

定义变量记录电影的信息。

代码示例:

public class VariableDemo2{
    public static void main(String[] args){
        //定义变量记录电影的名字
        String name = "送初恋回家";
        //定义变量记录主演的名字
        String personName = "刘鑫等等";
        //定义变量记录年份
        int year = 2020;
        //定义变量记录分数
        double score = 9.0;
        
        //输出所有变量
        System.out.println(name);
        System.out.println(personName);
        System.out.println(year);
        System.out.println(score);
    }
}    

练习3:

定义变量记录手机的信息。

代码示例:

public class VariableDemo2{
    public static void main(String[] args){
        //定义变量记录手机的价格
        double price = 5299.0;
        //定义变量记录手机的品牌
        String name = "华为";
        
        //输出所有变量
        System.out.println(price);
        System.out.println(name);
    }
}

注意:  java语言的char类型和C语言插入类型是不一样的.看如下代码:

发现中文是打印不出来的.因为在C语言中,一个汉字所占字节不是一个字节,而是多个字节.

到底C语言中的汉字占用几个字节,只跟其采用的字符集的编码方案有关.

gb2312中占用2个字节,utf-8中占用3个字节

 再看看java语言的.

 我们发现java是能打印出汉字的这是为什么呢?

今天我就跟大家聊聊有关java语言中的汉字占几个字节,可能很多人甚至一些科班出身的在校生都不太了解,为了让大家更加了解,我给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

java中,只要是字符,不管是数字还是英文还是汉字,都占2个字节,都是一个char。char c1 = '中';仅仅指java语言.

char c2 = 'A';

char c3 = '1';

确切说,Unicode编码是指一类编码的统称,而非某个具体编码。utf-8跟unicode是不一样的。

以utf8为例,utf8是一个变长编码标准,可以以1~4个字节表示一个字符,而中文占3个字节,ascII字符占1个字节。

因为java是以unicode作为编码方式的。unicode是一个定长的编码标准,每个字符都是2个字节,也就是1个char类型的空间。

扩展:

Unicode是一个编码方案,Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。目前Unicode 码在全球范围的信息交换领域均有广泛的应用。
 

2. 标识符

2.1 什么是标识符?

给类、方法、变量起的名字就是标识符。

简单理解:在代码中,凡是我们自己起的名字都是标识符,都要遵守我们下面讲解的规则。

2.2 标识符的硬性要求

必须要这么做,否则代码就会报错。

  • 必须由数字、字母、下划线、美元$符组成

  • 不能以数字开头

  • 不能是关键字

  • 区分大小写

2.3 标识符的软性建议

如果不这么做,代码不会报错,但是影响阅读,也显得代码很low

建议:不管是硬性要求还是软性建议,咱们都要遵守。

 符号的话,  只能以美元符号$开头,在C语言中也是.

小驼峰命名法:

适用于:方法名、变量名

  • 一个单词,全部小写。

    比如:name,age,gender,address

  • 多个单词,从第二个单词开始首字母大写。

    比如:firstName

大驼峰命令法:

适用于:类名

  • 一个单词,首字母大写

    比如:Demo,Test,Student

  • 多个单词,每一个单词的首字母都要大写。

    比如:HelloWorld

建议:

不管起什么名字,都要遵守四个字:见名知意。

如果英文单词记不住,不要使用拼音,用有道词典查一下。如果担心自己时间长了忘了,写注释。

3. 键盘录入

3.1 目的:

为了让我们变量记录的数据变得更加灵活。

3.2 实现步骤:

1.导包

简单理解:先要找到Scanner这个类在哪?

2.创建对象

简单理解:申请一下去我要开始用Scanner这个类了。

3.接收数据

只有等号右边才是真正的接收数据,接收到之后,把数据赋值给左边的变量

代码示例:

//1.导包 ,实际作用:先找到Scanner这个类在哪
//必须要写在第一行,类定义的外面
import java.util.Scanner;       
​
public class ScannerDemo1{
    public static void main(String[] args){
        //2.创建对象 , 实际作用:申请一下我要开始用Scanner这个类了。
        Scanner sc = new Scanner(System.in);
        //加一个提示
        System.out.println("请输入一个整数");
        //3.把接收到的数据赋值给一个变量
        int number = sc.nextInt();  
        System.out.println(number);
    }
}

3.3 键盘录入的练习

核心:

如果我们需要多次键盘录入数据,那么第一步和第二步不需要多次书写。只要多次书写第三步即可

代码示例:

import java.util.Scanner;//找到Scanner这个类在哪   
​
public class ScannerDemo1{
    public static void main(String[] args){
        //申请一下,我准备要用Scanner这个类了。
        Scanner sc = new Scanner(System.in);
        
        System.out.println("请输入第一个整数");
        int number1 = sc.nextInt();
        
        System.out.println("请输入第二个整数");
        int number2 = sc.nextInt();
        
        //求和
        int result = number1 + number2;
        
        System.out.println(result);
    }
}

http://lihuaxi.xjx100.cn/news/603912.html

相关文章

学校里很少提及但很实用的C语言开发基础知识

目录0. 前言1. 开发环境1.1 IDE1.2 代码文本编辑器1.3 编译器1.3.1 GCC1.4 调试器2. C语言2.1 位域2.2 指示器2.2.1 数组指示器2.2.2 结构体指示器2.2.3 结构体 数组2.3 变长数组2.4 预处理指令2.4.1 #运算符2.4.2 ##运算符2.4.3 可变参数宏2.5 泛型选择2.6 内建函数2.7 其他特…

Global Illumination_SDF Generate Visualize Shadow

Signed Distance Field(有向距离场)&#xff0c;简称SDF&#xff0c;这其实是图形学中非常常用的数学概念。数学上来说&#xff0c;是定义在空间中的一个标量场&#xff0c;标量值为空间一点到曲面的距离。曲面外的点为正值&#xff0c;曲面上的点为0&#xff0c;曲面内的点为负…

下一个更大的元素

#include<iostream> #include<vector> #include<stack> #include<unordered_map> using namespace std;// 下一个更大元素// 给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 // 请你找出 nums1 中每个元素在 nums2 中的下…

【实现QQ登录界面 Objective-C语言】

一、实现QQ登录界面 1.实现这样的QQ登录界面 1.实现这样的QQ登录界面 2.首先,分析一下,这个界面里,都有哪些控件 是不是两个Label,两个TextField文本框,1个Button吧 3.先拖1个Label上来 再拖1个TextField文本框上来,在这个Label右边, 然后选中这两个控件, 按住o…

论文《An Effective Consistency Constraint for Sequential Recommendation》

C2Rec: An Effective Consistency Constraint for SequentialRecommendation 这篇文章提出了序列推荐建模中一种有效的一致性约束防范&#xff0c;不用修改模型结构&#xff0c;仅仅添加2个额外的损失函数&#xff0c;就能达到非常好的效果。不像基于对比学习的方法&#xff0…

关于TCP和UDP的认识以及一些常用概念

单播&#xff0c;广播&#xff0c;组播 单播: 两个主机之间的端对端的通信&#xff08;可以在广域网进行&#xff09; 广播: 一个主机对整个局域网上所有主机的通信&#xff08;只能在局域网进行&#xff0c;比如192.1168.1.255。这个255就是表示这段网络的所有主机&#xff0…

ansible第五天

1、jinjia2模板 hosts.j2&#xff0c;内容如下(主机名和ip地址使用变量)&#xff1a; Welcome to 主机名 &#xff01;&#xff08;比如servera.lab.example.com&#xff09; My ip is ip地址. 要求在所有受管主机生成文件&#xff1a;/etc/welcome.txt。 2、角色部分 根据下列…

JVM类装载器详解

一、JVM 组成和作用1、 类装载器&#xff08;Class Loader&#xff09;&#xff1a;.class文件由类加载器加载到数据运行区&#xff0c;2、数据运行区 (Runtime data area)&#xff1a;&#xff1b;3、 执行引擎&#xff08;Execution Engine&#xff09;&#xff1a;由于字节码…