JavaSE学习day2_01, 数据类型

news2024/12/23 6:21:14

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://www.coloradmin.cn/o/148763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HW13 Network Compression网络压缩

文章目录一、任务描述1、介绍知识蒸馏2、介绍架构设计二、实验1、simple baselineconfigs结构设计训练2、medium baselineconfigs3、strong baselineconfigsReLu和leakyRelu知识蒸馏一、任务描述 ●网络压缩&#xff1a;使您的模型更小而不损失性能。 ●在这个任务中&#xff…

初级算法之深度搜索

目录 ​编辑 概述&#xff1a; 个人对深搜的理解&#xff1a; 深搜模板&#xff1a; 例题&#xff1a; 题目描述 输入格式 输出格式 输入输出样例 说明/提示 代码图示&#xff1a; 概述&#xff1a; 在我们刷算法的过程中肯定会想到暴力通过&#xff0c;暴力是不需要…

分类预测 | MATLAB实现超参数优化朴素贝叶斯(Naive Bayesian)多特征分类预测

分类预测 | MATLAB实现超参数优化朴素贝叶斯(Naive Bayesian)多特征分类预测 目录 分类预测 | MATLAB实现超参数优化朴素贝叶斯(Naive Bayesian)多特征分类预测分类效果基本介绍程序设计学习小结参考资料分类效果 基本介绍 MATLAB实现超参数优化朴素贝叶斯(Naive Bayesian)多特…

行为型-策略模式

策略模式简介 策略模式&#xff08;Strategy Pattern&#xff09;属于对象的行为模式。其用意是针对一组算法&#xff0c;将每一个算法封装到具有共同接口的独立的类中&#xff0c;从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。其主要目…

【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )

文章目录一、Kotlin 中的异常处理1、捕获并处理异常2、抛出自定义异常一、Kotlin 中的异常处理 在 Kotlin 程序中 , 处理异常 的方式有 : 抛出默认异常抛出自定义异常捕获并处理异常 1、捕获并处理异常 捕获异常代码示例 : 在下面的代码中 , name 变量是可空类型变量 , 其初始…

C语言入门(三)——简单函数

数学函数在数学中我们用过sin和ln这样的函数&#xff0c;例如Vin(ʌ &#xff0c;ln10等等&#xff0c;在C语言中也可以使用这些函数&#xff08;ln函数在C标准库中叫做log&#xff09;&#xff1a;在C语言中使用数字函数#include <math.h> #include <stdio.h> int…

生物化学 SY003地西泮(三大经典药物的老三)

历史 1864年 巴比妥酸 2,4,6-三羟基嘧啶, 丙二酰脲 “芭芭拉的尿酸” 巴比妥酸是一种有机化合物&#xff0c;化学式为C4H4N2O3&#xff0c;它由德国化学家阿道夫冯拜尔在研究尿酸时发现。巴比妥酸的德语名称“Barbitursure”衍生自拜尔的爱人芭芭拉&#xff08;Babara&#xf…

本周大新闻|CES 2023 AR/VR最全汇总

本周正值CES 2023举办期间&#xff0c;大新闻正好结合大会上的AR/VR新闻进行汇总。AR方面&#xff0c;The Information爆料更多苹果AR/VR头显信息&#xff1b;郭明錤表示苹果MR或再次推迟至Q3或年底&#xff1b;Mojo Vision裁员75%&#xff0c;专注Micro LED技术&#xff1b;消…

数据结构之二叉树的相关概念

今天我们来了解一下二叉树是什么。 二叉树介绍 要想明白二叉树&#xff0c;还得先了解一下树的定义。 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff…

图机器学习时间简史

自监督学习是大的算法研究方向。 图结构图特征是图神经网络的两个创新方面&#xff1b; 2022图神经网络的突破&#xff1a; 1.一些范式的突破&#xff1a;常常借鉴CV和NLP 2.很多新的自然界的应用场景上应用创新&#xff1a;天气预报&#xff0c;蛋白质&#xff0c;小分子&am…

linux(07)之内核系统调用

Linux(07)之内核系统调用 Author&#xff1a;Once Day Date&#xff1a;2023年1月7日 漫漫长路&#xff0c;才刚刚开始… 文章目录Linux(07)之内核系统调用1.概述2. 系统调用2.1 无参数的系统调用定义2.2 带参数的系统调用定义2.2.1 __diag诊断宏2.2.2 __MAP参数映射处理宏2.…

go的安装、gin安装以及GoLand的配置

一.go的安装以及Goland配置go的安装&#xff1a;https://www.runoob.com/go/go-environment.htmlMAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装&#xff0c;安装目录在 /usr/local/go/ 下。mac中按 ⌘shift. 即可显示隐藏文件夹&#xff0c;再按一次&#xff0c;即…

Spring4 全细节回顾

spring细节回顾 1、IOC/DI ApplicationContext接口是BeanFactory接口的子接口&#xff0c;Spring所有的东西都扔到了这里边。 1、Beans&#xff1a;Spring负责创建类对象并管理对象&#xff1b; 2、Core&#xff1a;核心类&#xff1b; 3、Context&#xff1a;上下文参数&a…

机器学习(4)——周志华

归纳偏好 若非必要&#xff0c;勿增实体 若多个算法都能解决同一个问题&#xff0c;则选取最简单的算法 当前什么样的偏好与问题更匹配&#xff0c;必须对问题有一个清楚的认识

shader基础入门(2)(VertexHelper)

VertexHelper&#xff08;顶点帮助器/顶点辅助类/顶点助手&#xff09; 官方资料版本&#xff1a;2019.1 使用需要继承&#xff1a;using UnityEngine.UI; 描述 可以帮助为 UI 生成网格的实用程序类。 此类实现 IDisposable 以帮助进行内存管理。 属性 currentIndexCount …

【vim工具的使用】

目录&#xff1a;前言一、普通/命令模式1.文件中移动 - 12.文件中移动 - 23.复制、粘贴、剪切、删除4.行内删除5.撤回6.替换7.高亮选中8.逐单词移动 - 3二、底行模式1.退出vim2.设置行号3.替换4.搜索3.不退出vim的情况下进行操作4.多文件操作三、替换模式四、插入模式总结前言 …

Python递归小练习

递归算法是常见的基础算法之一&#xff0c;阶乘、青蛙跳台、兔子算法等便是递归算法中典型的例子。 1、阶乘以6的阶乘为例&#xff0c;计算的过程如下图所示 Python代码实现如下&#xff1a; def jiecheng(n):if n 1:result 1else:result n * jiecheng(n - 1)return resul…

蓝桥杯寒假集训第九天(回文日期)

没有白走的路&#xff0c;每一步都算数&#x1f388;&#x1f388;&#x1f388; 题目描述&#xff1a; 输入一行数据&#xff0c;这个数据是从10000101到89991231&#xff0c;输出这个数据后面的第一个回文数&#xff0c;以及输出第一个ABABBABA型的回文数。 注意&#xff1…

跟着博主一起刷题:《剑指offer》(第五天)

跟着博主一起刷题 这里使用的是题库&#xff1a; https://leetcode.cn/problem-list/xb9nqhhg/?page1 目录剑指 Offer 37. 序列化二叉树剑指 Offer 38. 字符串的排列剑指 Offer 40. 最小的k个数剑指 Offer 37. 序列化二叉树 剑指 Offer 37. 序列化二叉树 序列化&#xff1a; …

windows下mmclassification安装教程

文章目录mmclassification版本0.23.1一.官方安转教程二.安装教程mmclassification版本0.23.1 一.官方安转教程 官网 二.安装教程 创建conda环境 conda create --name openmmlab python3.8 -y进入创建的环境 conda activate openmmlab安转pytorcch conda install pytorch torc…