【Java基础入门篇】一、变量、数据类型和运算符

news2025/4/27 2:06:39

Java基础入门篇


一、变量、数据类型和运算符

1.1 变量

计算机中的数据表示方式是:“二进制(0/1)”,但是同时也可以兼容其他进制,例如八进制、十进制、十六进制等。

Java变量的本质是:存储在固定空间的内容,变量名是通过名字操作空间,数据是会变化的量。变量可以分为局部变量成员变量静态变量三类。

常量:是用final定义的,一次初始化后就不再更改(由final修饰的变量不能被修改,修饰的方法不能被重写,修饰的类不能被继承)

class Test{
	// 定义一个成员变量,属于对象,生命周期伴随对象的始终
	int t1 = 100;
	// 定义一个静态变量,属于类,生命周期伴随类的始终
	static int t2 = 10;
}

写一个简单的方法测试变量定义与输出:

    /*
    * 用于记录变量定义
     */    
public static void testDigital(){
        int age = 18;
        int b; //使用变量前必须初始化
        System.out.println("age: "+ age);
        b = 0;
        System.out.println("b: " + b);
        final double PI = 3.14;
        int r = 4;
        System.out.println("PI is: " + PI + " radius is: " + r + " area is: " + PI * r * r);
    }

在这里插入图片描述

1.2 数据类型

Java数据类型包括8种基本数据类型+3种引用类型

  • 8种基本数据类型:
    • 数值6种:
      • 整数类型:byte(1B),short(2B),int(4B),long(8B)
      • 浮点类型:float(4B),double(8B))
      • :1B = 8bit
    • 字符型:char
    • 布尔型:boolean
  • 3种引用类型:
    • 接口
    • 数组

byte表示一个字节,范围是-2^7 ~ 2^7-1,即-128 ~ +127,中间的0需要抛去。

Java语言定义整形常量的四种表示形式:

  • 二进制(e.g. 要求以0b或0B开头,0b01110011)。

  • 十进制整数(e.g. 99,-500,0);

  • 八进制整数(e.g. 要求以0开头,015);

  • 十六进制(e.g. 要求以0x或0X开头,0x15);

字符集发展-最早是ASCII(英文,数字,特殊字符,控制符),后来发展到了汉语,汉语用两个字节表示(2B)也就是2^16-65536,足以表示所有的汉字,目前汉语最常用的就是UTF-8。

布尔类型(true/false),用于帮助我们进行逻辑判断,通常占用一个字节(1B)或者4个字节(bool数组)

    /*
    * 用于记录不同进制数值
     */
public static void testInt(){
        int a = 100; //十进制
        int b = 015; //八进制
        int c = 0xff; //十六进制
        int d = 0b100110101; //二进制

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);

        int salary = 3000; //默认类型为int
        long yearSalary = 30000000;

        System.out.println(yearSalary);
    }

在这里插入图片描述

1.3 运算符

java提供了丰富的运算符来操作变量,e.g. *, /, %, ++, +=, ==,!=, instanceof, &, |, ?:。当使用算术运算的时候,如果两个操作数有一个为long,最后结果也为long。没有long的时候结构为int(即使操作数权威short,byte)。如果两个操作数其中一个为double,则结果为double,只有两个操作数都未float时,结果才为float。取模运算可以使用浮点数,但是一般使用整数,结果是“余数”,类型为整型,符号与左侧的操作数一致(7%3=1,-7%3=-1)。

    /*
    * 记录浮点数用法
     */
    public  static  void testFloat(){
        double d1 = 3.14;
        double d2 = 3.14E2; //科学计数

        System.out.println("d1: "+ d1+ " d2: " +d2);

        float f1 = 1.65F; //浮点数默认类型是double,改float需要在后面加F
        System.out.println(f1);

        //浮点数不精确,尽量不要直接比较
        float f2 = 0.1F;
        double d3 = 1.0/10;
        System.out.println(f2 == d3);

        float f4 = 324324324L; // 末尾加L表示为long类型
        float f5 = f4 + 1;
        System.out.println(f4 == f5);

    }

在这里插入图片描述

  /*
    * 记录字符串用法
     */
    public static void testChar(){
        char c1 = 'a';
        char c2 = '中';
        char c3 = '\u0061';

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);

        //java种字符串不是基本数据类型,而是一个类
        String str = "我爱中国";
        System.out.println(str);

        //转义字符
        char c5 = '\n';
        System.out.println("a\nb\nc\n");
        System.out.println("this is a \'book\'");

    }

在这里插入图片描述

除此之外,还有输入/输出方法:

    /*
    * 记录输入/输出用法
     */
    public static void testScanner(){
        Scanner s = new Scanner(System.in);

        System.out.println("请输入姓名:");
        String name = s.nextLine();

        System.out.println("请输入年龄:");
        int age = s.nextInt();

        // 在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter等结束符过滤掉
        // 否则nextLine()会自动读取上一步next()去掉的回车作为自己的输入
        s.nextLine();
        System.out.println("请输入性别:");
        String sex = s.nextLine();

        System.out.println("请输入工资:");
        double salary = s.nextDouble();

        System.out.println("姓名: "+name +" 年龄: "+age+" 性别: "+sex+" 工资: "+salary);


    }

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2250804.html

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

相关文章

前端学习笔记之文件下载(1.0)

因为要用到这样一个场景,需要下载系统的使用教程,所以在前端项目中就提供了一个能够下载系统教程的一个按钮,供使用者进行下载。 所以就试着写一下这个功能,以一个demo的形式进行演示,在学习的过程中也发现了中文路径…

【力扣】387.字符串中的第一个唯一字符

问题描述 思路解析 对于这种个数有限的问题,我的第一想法是使用桶排序来解决因为s中只有小写英文单词,所以我只需要一个26个单位的数组就好了通过 charAt() 来提取单个字符,然后通过 -‘a’ 来将其映射到 0~25,不然数组长度就被超…

数据采集中,除了IP池的IP被封,还有哪些常见问题?

在数据采集的过程中,代理IP池的使用无疑为我们打开了一扇通往信息宝库的大门。然而,除了IP被封禁这一常见问题外,还有许多其他问题可能影响数据采集的效果。本文将探讨在数据采集中,除了IP被封之外,还可能遇到的一些常…

【笔记】自动驾驶预测与决策规划_Part8_数据驱动的规划方法

文章目录 0. 前言1.生成模型1.1 Diffusion-ES1. Diffusion-ES算法介绍2. Diffusion-ES算法具体流程Diffusion Model 是什么?Diffusion-ES: Evolutionary StrategiesDiffusion-ES MethodDiffusion-ES Mapping Language instructions to reward functions with LLM pr…

里氏替换原则:Java面向对象设计的基石

在面向对象编程(OOP)中,继承是一个强大的工具,它允许我们创建新的类(子类)来复用和扩展现有类(父类)的功能。然而,继承也带来了复杂性,特别是在确保子类能够正…

C++笔记之单例模式与静态方法的使用辨析及代码规范

C++笔记之单例模式与静态方法的使用辨析及代码规范 code review! 文章目录 C++笔记之单例模式与静态方法的使用辨析及代码规范一.示例代码二.讲解2.1.代码规范2.1.1.单例模式实现2.1.2.静态方法实现2.1.3.单例模式结合静态方法2.2.总结一.示例代码 // 使用 set 方法设置值(通…

18:(标准库)DMA二:DMA+串口收发数据

DMA串口收发数据 1、DMA串口发送数据2、DMA中断串口接收定长数据包3、串口空闲中断DMA接收不定长数据包4、串口空闲中断DMA接收不定长数据包DMA发送数据包 1、DMA串口发送数据 当串口的波特率大于115200时,可以通过DMA1进行数据搬运,以防止数据的丢失。如…

加载不同本地gltf模型,模型内容不更新的解决方案

相关链接 http://mars3d.cn/editor-vue.html?keyex_6_2_2&idlayer-graphic/draw/draw-model 问题内容 加载本地gltf模型的时候,不clear图层,再打开其他本地gltf,gltf的内容就不更新 重现步骤 进入官网示例,贴入以下代码…

可视化建模以及UML期末复习篇----相关软件安装

作为一个过来人&#xff0c;我的建议是别过来。 一、可视化建模 <1>定义: 官方&#xff1a;一种使用图形符号来表示系统结构和行为的建模技术。 我&#xff1a;其实说白了就是把工作流程用图形画出来。懂不&#xff1f; <2>作用: 提高理解和分析复杂系统的能力。促…

AI开发 - GPT之魂 用Python 演示chatGPT的自注意力机制 - 机器学习

自注意力机制&#xff08;Self-Attention&#xff09;就是让模型在处理每个词时&#xff0c;学会“关注重点”&#xff0c;而不是平均地对每个词一视同仁。这种机制让 GPT 能更聪明地理解句子的上下文和语义之间的关系。 自注意力机制是 GPT 的核心&#xff0c;它帮助模型在理解…

Web 表单开发全解析:从基础到高级掌握 HTML 表单设计

文章目录 前言一、什么是 Web 表单?二、表单元素详解总结前言 在现代 Web 开发中,表单 是用户与后端服务交互的重要桥梁。无论是用户登录、注册、搜索,还是提交反馈,表单都无处不在。在本文中,我们将从基础入手,全面解析表单的核心知识点,并通过示例带你轻松掌握表单开…

HCIE:详解OSPF,从基础到高级特性再到深入研究

目录 前言 一、OSPF协议基本原理 简介 基本原理 OSPF路由器类型 OSPF网络类型 OSPF报文类型和封装 OSPF邻居的建立的维护 DR和BDR的选举 伪节点 LSDB的更新 OSPF的配置 二、OSPF的高级特性 虚连接&#xff08;Virtual-Link&#xff09; OSPF的LSA和路由选择 OSPF…

C#读取本地图像的方法总结

前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任软件经理&#xff0c;从事C#上位机软件开发8年以上&#xff01;我们在C#开发C#程序的时候&#xff0c;有时候需要读取本地图像&#xff0c;下面进行详…

scrapy爬虫框架小案例

豆瓣案例 一、scrapy安装二、scrapy的基本使用&#xff08;爬虫项目创建->爬虫文件创建->运行 爬虫项目结构 response的属性和方法&#x1f31f;&#xff09;1、创建项目2、创建爬虫文件3、scrapy项目的结构4、运行爬虫文件5、response的属性和方法&#xff08;爬虫的处…

服务器实现ssh证书登录

1.生成公钥和私钥 ssh-keygen -t rsa 提示默认生成位置为/root/.ssh/id_rsa ,直接回车。(也可以自己修改) 提示输入证书的密码&#xff0c;可以留空&#xff0c;建议输入&#xff0c;如果输入了&#xff0c;则需要再次确认&#xff0c;记住这个证书密码&#xff08;证书再加…

css:转换

转换 移动 /* transform: translate(100px, 200px); */transform: translateX(100px);transform: translateY(100px); /*一个意思*/ 如果后面跟百分数的意思是移动盒子自身x/y方向长度的百分比&#xff0c;可以用作子绝父相控制盒子水平居中垂直居中 translate里的xy值是相对…

音视频相关的一些基本概念

音视频相关的一些基本概念 文章目录 音视频相关的一些基本概念RTTH264profile & levelI帧 vs IDRMP4 封装格式AAC封装格式TS封装格式Reference RTT TCP中的RTT指的是“往返时延”&#xff08;Round-Trip Time&#xff09;&#xff0c;即从发送方发送数据开始&#xff0c;到…

Flink--API 之Transformation-转换算子的使用解析

目录 一、常用转换算子详解 &#xff08;一&#xff09;map 算子 &#xff08;二&#xff09;flatMap 算子 &#xff08;三&#xff09;filter 算子 &#xff08;四&#xff09;keyBy 算子 元组类型 POJO &#xff08;五&#xff09;reduce 算子 二、合并与连接操作 …

工业公辅车间数智化节能头部企业,蘑菇物联选择 TDengine 升级 AI 云智控

小T导读&#xff1a;在工业节能和智能化转型的浪潮中&#xff0c;蘑菇物联凭借其自研的灵知 AI 大模型走在行业前沿&#xff0c;为高能耗设备和公辅能源车间提供先进的 AI 解决方案。此次采访聚焦于蘑菇物联与 TDengine 的合作项目&#xff0c;通过 AI 云智控平台的建设&#x…

TensorFlow实战:黄文坚版Python代码详解

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;本书由黄文坚撰写&#xff0c;深入介绍了TensorFlow的使用方法。TensorFlow是谷歌开发的开源库&#xff0c;用于数值计算和机器学习&#xff0c;特别是在深度学习方面。书中通过丰富的实例和详细解释&#xff0c…