java 常量、变量、数据类型

常量 *
指在程序执行期间其值不能发生变化的数据。例如数学中的π= 3.1415……又如:整数123,小
数1.23,字符’A’,布尔常量 true、false等,程序开发中,常量名一般规则全部大写,声明常量时必
须赋值,以后只能使用,不能再赋值,java语言声明常量使用final。package cn.webrx;
//静态导入 PI是常量,
import static java.lang.Math.PI;
public class V2 {
//成员,属性
final static int AGE = 18;
public static void main(String[] args) {
//局部 常量
final double pi = Math.PI;
System.out.println(AGE);
System.out.println(pi);
//使用常量
System.out.println(PI);
}
}
运行结果:
18
3.141592653589793
3.141592653589793

变量 *
变量:是指值在程序运行期间可以被改变的量。变量用于储存信息。它指向内存的某个单元,
而且指明了这块内存有多大。java是强类型,变量必须先声明初始化才可以使用。java程序中,变
量名是区分大小写。package cn.webrx;
import java.util.Date;
public class Var1 {
//属性 成员 变量 属性 在实例化会自动初始化 int 0 double float 0.0 Object null
boolean false
Date age ;
int[] aa;
//方法
public static void main(String[] args) {
//局部变量
//var v = new Var1();
Var1 vv = new Var1();
System.out.println(vv.age);
//System.out.println(vv.aa);
int x = 55;
{
//块级变量
int y = 5;
System.out.println(y);
System.out.println(x);
}
int y = 6;
System.out.println(y);
System.out.println("Hello world");
//合用局部变量,不会自动初始化,在使用的时候必须赋值初始化
//String s = "Hello world";
String s;
s = "ok";
//System.out.println(s.repeat(13));
System.out.println("sq1server");
System.out.println(s);
System.out.println("s");
//save(s) 保存
}
}java 10 var 类型推断声明变量package cn.webrx;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class Var2 {
//错误的,var局部变量类型推断,必须声明赋值,不能成员成员变量
//var i = 5;
public static void main(String[] args) {
//要求java 规范必须 10以上版本
var v = LocalDateTime.now();
var sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
var list = new ArrayList<Map<String,Object>>();
var a = 15;
a = 16;
var d = new Date();
for (var i = 1.0; i <= 5; i++) {
System.out.println(i);
}
}
}

常量:声明final 类型 常量名(标识符) = 值; //声明时必须初始化值,只能使用,不可再次赋值。
//声明 使用 常量
变量:类型 变量名(标识符)= 值; //可以使用,也可以再次赋值,如果不是静态的,必须实例化对
象后才可能在方法中访问 user.age。
//声明 使用 变量
静态:static 变量常量 修饰符,java规定main方法必须是static方法,在main方法中可以直接访问
static变量的值。package org.webrx;
public class Student {
//声明常量
static final int AGE = 18;
//静态变量,可以在main方法直接使用,不用实例化 属性
static int num = 55;
public static void main(String[] args) {
//System.out.println(AGE);
//实例化对象
//Student lisi = new Student();
//使用对象的常量
num = 99;
//System.out.println(lisi.AGE);
System.out.println(num);
System.out.println(AGE);
System.out.println(Student.AGE);}
}

数据类型 *
Java 支持数据类型分为两类: 基本数据类型和引用数据类型。
基本数据类型共有 8 种,可以分为三类:
数值型:整数类型( byte short int long )和浮点类型( float double
字符型: char
布尔型: boolean
float double 的最小值和最大值都是以科学记数法的形式输出的,结尾的 “E+ 数字 表示 E 之前的数字
要乘以 10 的多少倍。比如 3.14E3 就是 3.14×1000=3140 3.14E-3 就是 3.14/1000=0.00314
注意一下几点:
java 八种基本数据类型的字节数 :1 字节 (byte boolean) 2 字节 (short char) 4 字节 (int
float) 8 字节 (long double)
39/380 浮点数的默认类型为 double (如果需要声明一个常量为 float 型,则必须要在末尾加上 f F
整数的默认类型为 int (声明 Long 型在末尾加上 l 或者 L
八种基本数据类型的包装类:除了 char 的是 Character int 类型的是 Integer ,其他都是首字母
大写
char 类型是无符号的,不能为负,所以是 0 开始的
/*
* Copyright (c) 2006, 2023, webrx.cn All rights reserved.
*
*/
package cn.webrx;
/**
* <p></p>
* <p>Powered On 2023-02-07 15:42:14</p>
*
* 
* @version 1.0
* @since 17
*/
public class Type1 {
public static void main(String[] args) {
//byte short int long float double char boolean
byte b1 = 5;
System.out.println(b1);
short s1 = 5;
System.out.println(s1);
int i1 = 5;
System.out.println(i1);
long n1 = 5;
System.out.println(n1);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
float f1 = .5f;
double d2 = .5;
System.out.println(f1);
System.out.println(d2);
char c1 = 'a';
int num = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(num);
System.out.println(c2);
System.out.println((int) c2);
boolean f = !!!false == true;
System.out.println(f);
int aaa2 = (int)2482482234553L;
System.out.println(aaa2);2.4.4 类型转换 *
自动类型转换隐式转换
转换规则:从存储范围小的类型到存储范围大的类型。简言之,由低到高。
具体规则为:byte→short(char)→int→long→float→double
强制类型转换(float)3.5;
double n = 10;
//ctrl + d 复制行
//alt + shift + up(down) 移动行
//快速进入某处代码位置(使用idea 书签) f11 ctrl + f11 shift+f11
}
}

类型转换 *自动类型转换隐式转换
转换规则:从存储范围小的类型到存储范围大的类型。简言之,由低到高。
具体规则为:byte→short(char)→int→long→float→double
强制类型转换(float)3.5;/*
* Copyright (c) 2006, 2023, webrx.cn All rights reserved.
*
*/
package cn.webrx;
import java.util.Date;
/**
* <p></p>
* <p>Powered by webrx On 2023-02-07 16:09:07</p>
*
* @version 1.0
* @since 17
*/
public class Type2 {
public static void main(String[] args) {
int a = 30;
//自动转换
long b = a;
//强制转换
byte c = (byte)a;
//Date d = new Date();
//int y = (int)ld.getTime();
}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深蓝学院】手写VIO第7章--VINS初始化和VIO系统--笔记

0. 内容 1. VIO回顾 整个视觉前端pipeline回顾&#xff1a; 两帧图像&#xff0c;可提取特征点&#xff0c;特征匹配&#xff08;描述子暴力匹配或者光流&#xff09;已知特征点匹配关系&#xff0c;利用几何约束计算relative pose([R|t])&#xff0c;translation只有方向&…

国际前十伦敦金交易app软件最新排行榜(信息汇总)

随着科技的发展&#xff0c;移动交易已成为的趋势。伦敦金交易也不再局限于桌面&#xff0c;而是越来越多地转移到手机上。 为了更好地展现软件的信息&#xff0c;本文将为大家介绍国际前十的伦敦金交易app软件最新排行榜。 1.金荣中国 金荣中国是知名的伦敦金交易平台&…

Flutter配置Android SDK路径

在使用VSCode作为开发Flutter的工具时&#xff0c;当选择调试设备时&#xff0c;通常看不到android的模拟器&#xff0c;只能看到Chrome之类的。 原因就是Flutter找不到Android的SDK路径&#xff0c;所以无法识别模拟器&#xff0c;我们用flutter doctor命令检查环境时&#xf…

Docker-harbor私有仓库部署与管理

搭建本地私有仓库 #首先下载 registry 镜像 docker pull registry #在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json { "insecure-registries": ["20.0.0.50:5000"], #添加&#xff0c;注意用逗号结…

浅谈智能型电动机控制器在斯里兰卡电厂中的应用

摘要&#xff1a;传统的低压电动机保护是通过继电保护二次回路实现&#xff0c;但是我们结合电厂辅助控制设备的特点及其控制要求&#xff0c;推荐ARD2F智能型电动机控制器。以下综合介绍ARD2F智能型电动机控制器产品的特点及其智能化保护、测量、控制和通讯等。 Abstract: Th…

二叉树的遍历

递归实现二叉树的遍历 在遍历的过程中&#xff0c;每个节点都会遍历三次 二叉树的遍历 package binarytree;public class Traverse {public static class Node{public int value;public Node left;public Node right;public Node(int data){this.value data;}}public stati…

c++视觉图像----扩充边界

图像扩充边界 #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp>int main() {// 读取图像cv::Mat image cv::imread("1.jpg", cv::IMREAD_COLOR);if (image.empty()) {std::cerr << "Could not open or find the imag…

NC56 自定义查询的维护

前言 昨天收到一个业务反馈&#xff0c;某公司自定义查询的销售订单、和手工核销的数据对不上了。于是进行了简单的排查和分析。顺带了解了 NC56 的自定义查询的维护方法。 操作位置 在【客户化 - 自定义查询 - 查询引擎 - 查询引擎管理 】找到对应的自定义查询。并且点击右…

机器学习基础之《回归与聚类算法(1)—线性回归》

一、线性回归的原理 1、线性回归应用场景 如何判定一个问题是回归问题的&#xff0c;目标值是连续型的数据的时候 房价预测 销售额度预测 贷款额度预测、利用线性回归以及系数分析因子 2、线性回归定义 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(…

升级MacOS后无法打开 Parallels Desktop,提示“要完成 Parallels Desktop 设置,请重新启动 Mac 。”

有用户升级macOS后&#xff0c;发现无法打开PD虚拟机了&#xff0c;提示“要完成 Parallels Desktop 设置&#xff0c;请重新启动 Mac 。”但是重启电脑之后&#xff0c;尝试了卸载重装&#xff0c;安装新版本&#xff0c;都无法解决问题&#xff0c;打开依旧如此提示&#xff…

2023-2024-1 高级语言程序设计实验一: 选择结构

7-1 古时年龄称谓知多少&#xff1f; 输入一个人的年龄&#xff08;岁&#xff09;&#xff0c;判断出他属于哪个年龄段 &#xff1f; 0-9 &#xff1a;垂髫之年&#xff1b; 10-19&#xff1a; 志学之年&#xff1b; 20-29 &#xff1a;弱冠之年&#xff1b; 30-39 &#…

C++入门篇---(1)命名空间与缺省参数

1.前言: c兼容C语言,C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式等。 因此你可以理解为c是在c语言的基础上进行扩展的升级版. 它补充了C语言语法的不足&#xff0c;以及C是如何对C语言设计不合理…

第二证券:汇金增持有望催化银行板块 白酒企稳信号凸显

昨日&#xff0c;两市股指盘中震动上扬&#xff0c;创业板指、科创50指数一度涨超1%&#xff0c;但沪指午后涨幅逐渐回落。到收盘&#xff0c;沪指涨0.12%报3078.96点&#xff0c;深成指涨0.35%报10084.89点&#xff0c;创业板指涨0.8%报2003.9点&#xff0c;科创50指数涨1.29%…

在SIP 语音呼叫中出现单通时要怎么解决?

在VoIP的环境中&#xff0c;特别是基于SIP通信的环境中&#xff0c;我们经常会遇到一些非常常见的问题&#xff0c;例如&#xff0c;单通&#xff0c;注册问题&#xff0c;回声&#xff0c;单通等。这些问题事实上都有非常直接的排查方式和解决办法&#xff0c;用户可以按照一定…

分类预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入分类预测

分类预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入分类预测 目录 分类预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输…

uniapp app获取keystore等一系列常用数据

https://blog.csdn.net/deepdfhy/article/details/88698492 参考文章 一、获取安卓证书keystore的SHA1和SHA256值 参数上面引用链接 window r : $ cmd $ D: 进入D盘 $ keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore 项目名称.ke…

华为云云耀云服务器L实例评测|华为云上的CentOS性能监测与调优指南

目录 引言 ​编辑1 性能调优的基本要素 2 性能监控功能 2.1 监控数据指标 2.2 数据历史记录 2.3 多种统计指标 3 性能优化策略 3.1 资源分配 3.2 磁盘性能优化 3.3 网络性能优化 3.4 操作系统参数和内核优化 结论 引言 在云计算时代&#xff0c;性能优化和调优对于…

SNAP处理数据C盘越用越小,Datatype out of range报错

SNAP处理数据C盘越用越小&#xff0c;Datatype out of range报错 问题描述 SNAP处理的影像比较多了之后&#xff0c;占用C盘临时存储空间&#xff0c;在做处理时&#xff0c;一直报错Datatype out of range 原因 临时存储不够了&#xff0c;需要释放一下之前的空间。 解决…

【【萌新的SOC学习之GPIO之MIO控制LED实验程序设计】】

萌新的SOC学习之GPIO之MIO控制LED实验程序设计 如何设置完GPIO并且传递数据 我们先了解GPIO引脚的配置 每一个GPIO引脚都可以设置成输入输出 &#xff0c;只有GPIO8 7 只能作为输出 我们现在做一个例子 GPIO 的bank我们知道有4个 bank0 1 2 3 DIRM_0 就是第一个bank 需要写入…

MyBatis基础之注解与SQL 语句构建器

文章目录 注解实现简单增删改查SQL 语句构建器SelectProvider举例 注解实现简单增删改查 在 MyBatis 的核心配置文件中&#xff0c;你需要配置的不是 mapper 映射文件&#xff0c;而是 Mapper 接口所在的包路径。 <!-- 在配置文件中 关联包下的 接口类--> <mappers&…