【Java基础入门篇】一、变量、数据类型和运算符
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
- 数值6种:
- 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; //默认类型为intlong 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需要在后面加FSystem.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);}

相关文章:
【Java基础入门篇】一、变量、数据类型和运算符
Java基础入门篇 一、变量、数据类型和运算符 1.1 变量 计算机中的数据表示方式是:“二进制(0/1)”,但是同时也可以兼容其他进制,例如八进制、十进制、十六进制等。 Java变量的本质是:存储在固定空间的内容,变量名是…...
【llamafactory】安装与环境配置
拉取镜像 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory创建虚拟环境 conda create -n llamafactory python3.10 conda activate llamafactory安装所需依赖 pip install -e ".[torch,vllm,optimum,auto_gptq]"...
Vue 3 + Vuex 埋点实现指南
在现代前端开发中,数据分析和用户行为追踪是不可或缺的部分。本文将介绍如何在 Vue 3 项目中实现埋点功能,具体使用 Vuex 进行状态管理,并通过自定义 Hook 实现埋点逻辑。 目录 项目结构实现埋点逻辑使用埋点功能总结 1.项目结构 我们将创…...
电子应用设计方案-30:智能扫地机器人系统方案设计
智能扫地机器人系统方案设计 一、引言 随着人们生活节奏的加快和对生活品质的追求,智能家居产品越来越受到消费者的青睐。智能扫地机器人作为一种能够自动清扫地面的智能设备,为人们节省了大量的时间和精力。本方案旨在设计一款功能强大、智能化程度高、…...
HTML飞舞的爱心(完整代码)
写在前面 HTML语言实现飞舞的爱心完整代码。 完整代码 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>飞舞爱心</title><style>* {margin: 0;padding: 0;}html,body {overflow: hidd…...
android shader gl_Position是几个分量
在Android的OpenGL ES中,gl_Position是顶点着色器(Vertex Shader)的一个内置输出变量,它用于指定顶点在裁剪空间(Clip Space)中的位置。gl_Position是一个四维向量(4-component vectorÿ…...
spine 动画层 动态权重
前奏.业务背景 这边想实现一个功能,项目中有 一只猫 猫的头会盯着逗猫棒移动。因为素材还没到所以这里使用了 spine 自带的猫头鹰。他的动画 刚好挺有针对性:(关联上篇)https://blog.csdn.net/nicepainkiller/article/details/144…...
《Python基础》之Python中可以转换成json数据类型的数据
目录 一、JSON简介 JSON有两种基本结构 1、对象(Object) 2、数组(Array) 二、将数据装换成json数据类型方法 三、在Python中,以下数据类型可以直接转换为JSON数据类型 1、字典(Dictionary)…...
在oracle下载jdk显示400 Bad Request Request Header Or Cookie Too Large
下载JDK17,官网地址:【https://www.oracle.com/cn/java/technologies/downloads/#jdk17-windows】 问题: 出现 400 Bad Request: Request Header Or Cookie Too Large 错误,通常是由于浏览器存储的 Cookies 或请求头过大所导致的…...
MongoDB注入攻击测试与防御技术深度解析
MongoDB注入攻击测试与防御技术深度解析 随着NoSQL数据库的兴起,MongoDB作为其中的佼佼者,因其灵活的数据模型和强大的查询能力,受到了众多开发者的青睐。然而,与任何技术一样,MongoDB也面临着安全威胁,其…...
【Java基础入门篇】前言
Java基础入门篇 本系列内容主要针对Java基础知识,总共包含四大部分内容: 变量、数据类型和运算符控制语句和递归算法面向对象和JVM底层分析数组和排序 学习需要具备: IDEA编译器 JDK1.8版本 写在前面 在Java入门的最开始,我们需…...
Oracle 建表的存储过程
建表的存储过程 下面是建表的存储过程,用途:通过不同的表,根据不同过滤条件,得到某个字段,例如neid,然后创建一个新表T,表T的表名为拼接XXXX_XXX_neid,表T的字段自行添加 xxx&…...
【Debug】hexo-github令牌认证 Support for password authentication was removed
title: 【Debug】hexo-github令牌认证 date: 2024-07-19 14:40:54 categories: bug解决日记 description: “Support for password authentication was removed on August 13, 2021.” cover: https://pic.imgdb.cn/item/669b38ebd9c307b7e9f3e5e0.jpg 第一章 第一篇博客记录一…...
torch.is_floating_point(input)
torch.is_floating_point(input) input: 输入张量 如果输入的数据类型是 浮点数据类型 ,则返回 True。否则返回False。 浮点数据类型:torch.float64、torch.float32、torch.float16 、 torch.bfloat16 import torch# 创建一个浮点数张量 float_tensor torch.te…...
【分布式】分布式事务
目录 1、事务的发展 2、本地事务 (1)如何保障原子性和持久性? (2)如何保障隔离性? 2、全局事务 (1)XA事务的两段式提交 (2)XA事务的三段式提交…...
Spring Data 简介
Spring Data 是一个用于简化数据库访问的框架,它是 Spring 生态系统中的重要组成部分。以下是详细介绍: 一、背景和目的 在开发应用程序时,数据访问层的实现往往是比较复杂和繁琐的。开发人员需要编写大量的代码来实现诸如数据库连接、查询…...
【娱乐项目】基于批处理脚本与JavaScript渲染视频列表的Web页面
Demo介绍 一个简单的视频播放器应用,其中包含了视频列表和一个视频播放区域。用户可以通过点击视频列表中的项来选择并播放相应的视频,播放器会自动播放每个视频并在播放完毕后切换到下一个视频。本项目旨在通过自动化脚本和动态网页渲染,帮助…...
[MySQL]流程控制语句
流程控制语句需要借助存储过程才有效。关于存储过程,我会在后续的文章详述,本篇文章只是阐述流程控制语句。因此,大家只需要注意存储过程中相应的流程控制语句即可。 如果文中阐述不全或不对的,多多交流。 参考笔记三,…...
Flink在Linux系统上的安装与入门
一、Flink的引入 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有Hadoop、Storm,以及后来的Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计…...
微信小程序Webview与H5通信
背景 近期有个微信小程序需要用到web-view嵌套H5的场景,该应用场景需要小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大,显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是…...
AI智能体架构设计:从成本黑洞到价值引擎的解耦之道
1. 从成本黑洞到价值引擎:为什么你的AI智能体架构正在吞噬预算又到了季度技术复盘会,财务那边递过来的云账单和工程人力成本,是不是又让你倒吸一口凉气?你看着报表上那个名为“AI智能体平台”的项目,它的资源消耗曲线几…...
新手也能懂的SSRF漏洞实战:用iwebsec靶场复现文件读取与内网探测
从零开始掌握SSRF漏洞:iwebsec靶场实战指南1. 认识SSRF漏洞的本质想象一下,你正在一家高档餐厅点餐,服务员承诺可以帮你从任何地方获取食材——包括隔壁竞争对手的厨房。SSRF(Server-Side Request Forgery)漏洞就像这个…...
收藏必看|2026 版大厂 AI 岗位薪资曝光!普通程序员转型大模型最全指南
深夜收到大厂 HR 好友发来的内部资料,再三叮嘱切勿对外泄露。如今网络信息传播速度极快,这份 2026 年企业 AI 岗真实薪资内幕,也值得给广大程序员、零基础入行小白参考借鉴。 翻看完整薪资台账后,真切感受到当下大模型赛道的薪资差…...
浏览器 Profile 环境排查:Cookie、LocalStorage、网络出口与自动化任务配置清单
一、为什么浏览器环境经常“今天能用,明天失效”很多团队遇到登录状态丢失、页面配置异常、自动化任务失败时,会先怀疑网络、脚本或系统本身。但在实际项目里,问题经常不是单点故障,而是浏览器环境缺少稳定管理:对象常…...
户外实用|艾迪欧 R6000 测评 —— 户外 / 自驾 / 露营的通讯好搭档
户外出行,通讯工具的核心是稳定、清晰、耐用、续航久、功能全。艾迪欧 R6000 作为一款兼顾专业与户外的 DMR 对讲机,全频段覆盖、双模通讯、自定义功能、长续航,完美适配自驾、露营、登山、越野等户外场景,是户外爱好者的靠谱通讯…...
XML 服务器
XML 服务器 引言 XML(可扩展标记语言)服务器在现代互联网技术中扮演着至关重要的角色。它为数据的传输和处理提供了灵活且高效的方式。本文将深入探讨XML服务器的概念、工作原理、应用场景及其在软件开发中的重要性。 什么是XML服务器? XML服务器是一种用于存储、处理和…...
第三卷第4章:原型模式设计思想
第三卷第4章:原型模式设计思想 目录介绍 01.案例引入与思考 1.1 痛点场景 1.2 它哪里不舒服 1.3 引出本篇主角 02.原型模式介绍 2.1 原型模式由来 2.2 原型模式定义...
论文润色深度测评:GPT-5.5 + Gemini 3.1 Pro:教你学会1+1>2的论文润色方法
各位同仁好,我是七哥。一个在高校里从事人工智能相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude等大模型学术实操相关问题,多多交流,相互成就,共同进步。 2026年的科研圈,AI工具的选择已经从有没有变成了强不强,七哥评测了GPT…...
phpMyAdmin CVE-2018-12613:从文件读取到RCE的伪协议利用链
1. 这个漏洞不是“能读文件”那么简单,而是后台权限的彻底失守phpMyAdmin 4.8.1里那个CVE-2018-12613,很多人扫到就报个“存在文件包含”,顺手贴个?targetphp://filter/convert.base64-encode/resource/etc/passwd截图完事。我去年在给一家教…...
基于雷达与光敏传感器的低功耗智能窗防设备设计与实现
1. 项目概述:一个基于雷达与光敏的智能窗防设备几年前,我因为一次短暂的出差,家里空置了几天,回来后就一直琢磨着怎么给家里的窗户加点“动静”。市面上的智能安防摄像头固然好,但要么需要复杂的布线,要么云…...
