当前位置: 首页 > news >正文

Java语言程序设计——篇二(1)

Java语言基础

  • 数据类型
  • 关键字与标识符
        • 关键字
        • 标识符
  • 常量与变量
      • 1、常量
      • 2、变量
  • 类型转换
      • 自动类型转换
      • 强制类型转换

数据类型

  • 数据的基本要素
  • 数据的性质(数据结构)
  • 数据的取值范围(字节大小)
  • 数据的存储方式
  • 参与的运算
    Java是一门强类型的编程语言,它对变量的数据类型有严格的限定。在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错。
    Java语言的类型分为两类,基本数据类型(primitive types)和引用数据类型(reference types)。
    Java数据类型的分类如图所示。
    在这里插入图片描述
    Java是一种严格的类型语言,不允许在数值型和布尔型之间转换,1不能表示true,0也不能表示false。

关键字与标识符

关键字(key word)也称为保留字(Reserved word)。Java语言中的关键字是已经被赋予特定意义的单词符号。
注:
  1.所有的关键字都是小写
  2.所有的关键字不是标识符,不能作为类名方法名变量名等来使用。

关键字

数据类型:boolean、byte、short、int、long、double、char、float、double。
包引入和包声明:import、package。
用于类和接口的声明:class、extends、implements、interface。
流程控制:if、else、switch、do、while、case、break、continue、return、default、while、for。
异常处理:try、catch、finally、throw、throws。
修饰符:abstract、final、native、private、protected、public、static、synchronized、transient、volatile。
其他:new、instanceof、this、super、void、assert、const、enum、goto、strictfp。

标识符

用来表示变量名、类名、方法名、数组名和文件名的有效字符序列 。
标识符语法规则:

  1. 可以由字母、数字、下划线(_)、美元符号($)组合而成。
  2. 必须以字母、下划线或美元符号开头,不能以数字开头。
  3. 关键字不能当标识符使用。
  4. 区分大小写,大小写敏感。
  5. 标识符可以为任意长度。
    例如:
    count,value_add,$2, showMessageDialog,area, radius是合法的标识符;
    2A, d+4,high#,null是非法的标识符
    标识符命名规范: 见名知意,类名首字母大写,变量、方法及对象首字母小写,中间单词首字母大写。驼峰式命名法

常量与变量

1、常量

常量(constant)是指在程序运行过程中其值不可以进行改变的数据。常量有整型常量、浮点型常量、布尔常量、字符常量、字符串常量及符号常量。
按照Java规范,符号常量一般用大写字母,单词之间用下划线分隔。
语法
final datatype CONSTANT_NAME = value;
例如:
final double PI = 3.14159;
使用常量的好处
1、避免重复输入
2、便于程序修改
3、便于程序阅读
字符型常量
用单引号括起来,分为普通字符常量和转义字符常量如:‘a’,‘9’\n。

2、变量

变量(constant) 变量是在程序执行过程中其值可以改变的数据,并且编译时已经确定类型,其类型可以是基本类型或引用类型。在程序中,每个变量在被使用之前必须先声明后使用。
Java 语言程序中可以随时定义变量,不必集中在执行语句之前。

  • 计算机程序是通过变量来操作内存中的数据,变量声明或定义的过程就是在变量和内存单元之间建立联系。
  • 声明变量语法(驼峰法)
      datatype variableName;
    或者
      datatype v1, v2, … , v3;
    例如:
      int x;
      double radius, area;
  • Java语言的变量除了有类型之外,还有修饰词来限定它的使用。修饰词包括public、protected、private、static。
  • 变量声明的一般形式如下:
    <修饰词列表> <变量类型> <变量名列表>;
    如: static int b=1;
    其中变量名必须是合法标识符,变量声明时可以初始化,同一类型一次声明多个变量时用逗号隔开。
    方法中的变量在使用前必须赋值。
    int x, y;
    y = x + 1; //error

类型转换

  • 数值型数据不同类型的转换

自动类型转换

①转换前的数据类型与转换后的类型兼容。
②转换后的数据类型的表示范围比转换前的类型大。
注意: 不同类型的数据进行运算时,需先转换为同一类型,然后进行运算。转换从“短”到“长”的优先关系为:byte→short→char→int→long→float→double→String ,转换只限该语句本身,并不会影响原先变量,布尔类型数据无法进行类型转化。
byte i = 100;
long k = i * 3 + 4;
double d = i * 3.1 + k / 2;

强制类型转换

如果要将较长的数据转换成较短的数据时(不安全),就要进行强制类型转换。强制类型转换的格式如下:
语法
(datatype)variableName
例如:
float f = (float)10.1; // 10.1
int i = (int)f; // 10
int j = (int)-f; // -10
字符串型数据与整型数据相互转换
字符串转换成数值型数据
String MyNumber = “1234.56”;float MyFloat = Float.parseFloat(MyNumber);
数值型数据转换成字符串
在Java语言中,字符串可用加号“+”来实现连接操
作。所以若其中某个操作数不是字符串,该操作在连接之前会自动将其转换成字符串。所以可用加号来实现自动的转换。
int MyInt=1234; //定义整形变量MyInt
String MyString=“”+MyInt;//将整型数据转换成了字符串 <.font>

博主用心写,读者点关注;互动传真情,知识不迷路

相关文章:

Java语言程序设计——篇二(1)

Java语言基础 数据类型关键字与标识符关键字标识符 常量与变量1、常量2、变量 类型转换自动类型转换强制类型转换 数据类型 数据的基本要素数据的性质&#xff08;数据结构&#xff09;数据的取值范围&#xff08;字节大小&#xff09;数据的存储方式参与的运算 Java是一门强类…...

水果商城系统 SpringBoot+Vue

1、技术栈 技术栈&#xff1a;SpringBootVueMybatis等使用环境&#xff1a;Windows10 谷歌浏览器开发环境&#xff1a;jdk1.8 Maven mysql Idea 数据库仅供学习参考 【已经答辩过的毕业设计】 项目源码地址 2、功能划分 3、效果演示...

半导体制造企业 文件共享存储应用

用户背景&#xff1a;半导体设备&#xff08;上海&#xff09;股份有限公司是一家以中国为基地、面向全球的微观加工高端设备公司&#xff0c;为集成电路和泛半导体行业提供具竞争力的高端设备和高质量的服务。 挑战&#xff1a;芯片的行业在国内迅猛发展&#xff0c;用户在上海…...

深入分析 Android BroadcastReceiver (九)

文章目录 深入分析 Android BroadcastReceiver (九)1. Android 广播机制的扩展应用与高级优化1.1 广播机制的扩展应用1.1.1 示例&#xff1a;有序广播1.1.2 示例&#xff1a;粘性广播1.1.3 示例&#xff1a;局部广播 1.2 广播机制的高级优化1.2.1 示例&#xff1a;使用 Pending…...

从数据到洞察:DataOps加速AI模型开发的秘密实践大公开!

作者 | 代立冬&#xff0c;白鲸开源科技联合创始人&CTO 引言 在AI驱动的商业世界中&#xff0c;DataOps作为连接数据与洞察的桥梁&#xff0c;正迅速成为企业数据战略的核心。 在WOT全球技术创新大会2024北京站&#xff0c;白鲸开源联合创始人&CTO 代立冬 在「大数据…...

全景图三维3D模型VR全景上传展示H5开发

全景图三维3D模型VR全景上传展示H5开发 3D互动体验平台的核心功能概览 兼容广泛格式&#xff1a;支持OBJ、FBX、GLTF等主流及前沿3D模型格式的无缝上传与展示&#xff0c;确保创意无界。 动态交互探索&#xff1a;用户可自由旋转、缩放、平移模型&#xff0c;深度挖掘每一处…...

前端面试题29(js闭包和主要用途)

JavaScript 中的闭包是一个非常强大的特性&#xff0c;它允许一个函数访问并操作其词法作用域之外的变量。闭包的形成主要依赖于函数的作用域链&#xff0c;即函数可以访问在其外部定义的变量&#xff0c;即使外部函数已经执行完毕。下面我会通过几个方面来帮助你理解闭包的概念…...

使用Keil 点亮LED灯 F103ZET6

1.新建项目 不截图了 2.startup_stm32f10x_hd.s Keil\Packs\Keil\STM32F1xx_DFP\2.2.0\Device\Source\ARM 搜索startup_stm32f10x_hd.s 复制到项目路径&#xff0c;双击Source Group 1 3.项目文件夹新建stm32f10x.h&#xff0c; 新建文件main.c #include "stm32f10x…...

流批一体计算引擎-12-[Flink]旁路输出getSideOutput(OutputTag)实现拆分流和复制流

官网旁路输出 Flink拆分流和复制流 我们在处理数据的时候,有时候想对不同情况的数据进行不同的处理,那么就需要把流进行拆分或者复制。 如果是使用filter来进行拆分,也能满足我们的需求,但每次筛选都要保留整个流,然后遍历整个流,显然很浪费性能,假如能够在一个流了多次…...

【Scrapy】 Scrapy 爬虫框架

准我快乐地重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 再去做没流着情泪的伊人 假装再有从前演过的戏份 重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 你纵是未明白仍夜深一人 穿起你那无言毛衣当跟你接近 &#x1f3b5; 陈慧娴《傻女》 Scrapy 是…...

【笔记】太久不用redis忘记怎么后台登陆了

&#xff01;首先启动虚拟机linux的centos7 2.启动finalshell 我的redis启动在根目录用 redis-server redis.conf --启动 systemctl status redis --查看redis状态 是否active redis-cli -h centos的ip地址 -p 你要用的redis端口号&#xff08;默认为6379&#xff09; -a 你…...

昇思25天打卡营-mindspore-ML- Day14-VisionTransformer图像分类

今天学习了Vision Transformer图像分类&#xff0c;这是一种基于Transformer模型的图像分类方法&#xff0c;它不依赖卷积操作&#xff0c;而是通过自注意力机制捕捉图像块之间的空间关系&#xff0c;从而实现图像分类。 基本原理&#xff1a; 图像分块: 将原始图像划分为多个…...

微信环境内H5网页,用开放标签wx-open-launch-app打开app

一、微信公众号后台配置安全域名 准备一个认证通过的公众号&#xff0c;打开公众号后台 1、设置与开发 2、公众号设置 3、功能设置 4、配置js接口安全域名 二、微信开放平台&#xff0c;将公众号与APP关联 打开微信开放平台后台 1、管理中心 2、公众号 3、选择一个需要操作…...

【c++基础】高精度数不进位加法

高精度数不进位加法 谈及数字即可想到运算&#xff0c;那么高精度数怎么运算呢&#xff1f;今天来系统介绍一下高精度数的加法。 思考一下加法运算&#xff0c;我们可以简单将加法运算这样区分&#xff1a; 有无进位。位数是否相同。 这篇文章我们就来讨论一下无进位的高精度…...

UniApp 中 Web/H5 正确使用反向代理解决跨域问题

因为 Vue3 的构建工具是 Vite&#xff0c;所以配置 vue.config.js 是没用的&#xff08;Vue2 因为使用 webpack 所以才用这个文件&#xff09; 这里提供一份 vue.config.js 的示例&#xff1a; module.exports {devServer: {proxy: {/api: {target: http://example.com,chan…...

Redis Stream:实时数据流的处理与存储

Redis Stream:实时数据流的处理与存储 引言 在当今数据驱动的世界中,实时数据处理和存储成为了许多应用的核心需求。Redis Stream作为一种新兴的数据结构,为Redis带来了强大的流处理能力。本文将深入探讨Redis Stream的特点、使用场景以及如何高效地利用它来处理实时数据流…...

【论文阅读】-- Visual Traffic Jam Analysis Based on Trajectory Data

基于轨迹数据的可视化交通拥堵分析 摘要1 引言2 相关工作2.1 交通事件检测2.2 交通可视化2.3 传播图可视化 3 概述3.1 设计要求3.2 输入数据说明3.3 交通拥堵数据模型3.4 工作流程 4 预处理4.1 路网处理4.2 GPS数据清理4.3 地图匹配4.4 道路速度计算4.5 交通拥堵检测4.6 传播图…...

修改编译依赖openssl的libcrypto.so

由于centos7默认使用openssl1.0.2k的libcrypto.so.10共享库。即使openssl升级为3.0.11后&#xff0c;编译使用ldd命令查看共享库依旧会引用libcrypto.so.10。 现希望引用libcrypto.so.3&#xff0c;需要在生成动态链接库的CMakeLists.txt中增加如下配置&#xff0c;明确指定ope…...

����: �Ҳ������޷��������� javafx.fxml ԭ��: java.lang.ClassNotFoundException解决方法

如果你出现了这个问题&#xff0c;恭喜你&#xff0c;你应该会花很多时间去找解决方法。别问我怎么知道的... 解决方法&#xff1a; 出现乱码的原因&#xff1a;配置vm时 这些配置看似由有空格&#xff0c;换行&#xff0c;实则没有。所以解决办法就是&#xff0c;重新配置你…...

【C++】———— 继承

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年7月5日 一、什么是继承&#xff1f; 继承的概念 定义&#xff1a; 继承机制就是面向对象设计中使代码可以复用的重要手段&#xff0c;它允许在程序员保持原有类特性的基础上进行扩展…...

Python人生重开器

Life reopens stimulator """ 作者:->yjy 所有的惊艳都曾历经平庸 """ import random import sys import time# 打印初始界面 print(------------------------------) print(| |) print(| >>人生重…...

python 高级技巧 0708

python 33个高级用法技巧 使用装饰器计时函数 装饰器是一种允许在一个函数或方法调用前后运行额外代码的结构。 import timedef timer(func):"""装饰器函数&#xff0c;用于计算函数执行时间并打印。参数:func (function): 被装饰的函数返回:function: 包装后…...

HOW - React Router v6.x Feature 实践(react-router-dom)

目录 基本特性ranked routes matchingactive linksNavLinkuseMatch relative links1. 相对路径的使用2. 嵌套路由的增强行为3. 优势和注意事项4. . 和 ..5. 总结 data loadingloading or changing data and redirectpending navigation uiskeleton ui with suspensedata mutati…...

`padding`、`border`、`width`、`height` 和 `display` 这些 CSS 属性的作用

盒模型中的属性 padding&#xff08;内边距&#xff09; padding 用于控制元素内容与边框之间的空间&#xff0c;可以为元素的每个边&#xff08;上、右、下、左&#xff09;分别设置内边距。内边距的单位可以是像素&#xff08;px&#xff09;、百分比&#xff08;%&#xf…...

C++ QT 全局信号的实现

每次做全局信号都需要重新建立文件&#xff0c;太麻烦了&#xff0c;记录一下&#xff0c;以后直接复制。 头文件 globalSignalEmitter.h #pragma once //#ifndef GLOBALSIGNALEITTER_H //#define GLOBALSIGNALEITTER_H#include <QObject>class GlobalSignalEmitter : …...

十款绚丽的前端 CSS 菜单导航动画

CSS汉堡菜单是一种非常流行的PC端和移动端web菜单风格&#xff0c;特别是移动端&#xff0c;这种风格的菜单应用更为广泛。这款菜单便非常适合在手机App上使用&#xff0c;它的特点是当顶部菜单弹出时&#xff0c;页面内容将会配合菜单出现适当的联动&#xff0c;让整个页面变得…...

debain系统使用日志

账号 vboxuser changeme ssh远程登录vbox虚拟机 https://www.cnblogs.com/BuzzWeek/p/17557981.html Terminal su - root changeme sudo apt-get update sudo apt-get -y install openssh-server #启动sshd systemctl status sshd 设置允许ssh登录vbox虚拟机 参考&#xf…...

【Word】快速对齐目录

目录标题 1. 全选要操作的内容 → 右键 → 段落2. 选则制表位3. 配置制表符4. Tab键即可 1. 全选要操作的内容 → 右键 → 段落 2. 选则制表位 3. 配置制表符 4. Tab键即可...

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…...

推荐6个开源博客项目源码,你会选哪个呢

搭建个人博客系统时&#xff0c;可以选择多种开源平台&#xff0c;以下是一些受欢迎的开源博客系统及其特点&#xff1a; 1. Plumemo Plumemo 是一个轻量、易用、前后端分离的博客系统&#xff0c;为了解除开发人员对后端的束缚&#xff0c;真正做到的一个面向接口开发的博客…...