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

Java语法

目录

  • Java语法
    • 一、标识符
      • 什么是标识符
      • 标识符的命名规则
    • 二、常量
    • 三、变量
      • 1.变量的特点
      • 2.数据类型的相互转化
      • 3.进制转换
      • 4.运算符
      • 5.三元表达式

Java语法

一、标识符

什么是标识符

常量、变量、函数、类、包的名称

标识符的命名规则

  • 由字母、数字、下划线‘_’和美元符号‘$’组成,也可以是汉字。
  • 不能以数字开头。
  • 不能是关键字和保留字。
  • Java是大小写敏感的语言,所以标识符区分大小写。

    关键字:程序中有特别作用的单词。

    保留字:现在没有使用到,但是保留下来作为以后的关键字使用的单词。

二、常量

  • 常量的值是固定的,不可修改的
  • 常量的定义方式:final

    例:
final double PI=3.14; //PI是常量
  • 常量的种类:
    • 整型:123,0123(八进制),0x123(十六进制),123L(长整型)
    • 浮点型:3.14f,3.14
    • 布尔型:true,false
    • 字符串:“中国”,“String”
    • 引用类型:即对象

三、变量

在程序运行过程中,值是可以变化的,是内存中的最小单元

1.变量的特点

  • 变量名:参照标识符
  • 初始值:变量在使用前必须赋值
  • 作用域:在不同代码块中的生命周期
  • 数据类型
    • 基本数据类型
父类型子类型名称长度取值范围
整型byte字节型1字节(8位)-128~127
整形short短整形2字节-32768~32767
整型int整型4字节-231~231
整形long长整型8字节-263~263
浮点型float单精度浮点型4字节-231~231
浮点型double双精度浮点型8字节-263~263
字符型char字符型2字节-215~215
布尔型boolean布尔型1字节true/false
    • 引用数据类型:对象类型,一般存放在堆内存

      例:数组,对象

2.数据类型的相互转化

  • 强制类型转换

    由高级向低级转换,可能丢失精度
(int)3.14
  • 自动类型转换

    计算时低级类型向高级类型转换
10+'A';//75
5/2.5;//2.5
5/2;//2

3.进制转换

4.运算符

算术运算符

符号含义
+加法
-减法
*乘法
/除法
%求模、求余
++自增
--自减

求余运算

9%4=1
9%5=4
-9%-4=-1
9%-4=1//求余运算的符号由第一个数决定

自增自减运算

a++与a=a+1相同

自增自减运算符在前,先执行自增,然后执行赋值

自增自减运算符在后,先执行赋值,再执行自增

int a=10;
int b=a++;  //a=11,b=10
int a=10;
int b=++a; //a=11,b=11

字符串加减

"Hello"+",world"
"Hello"+123
"1"+1

结果

Hello,world
Hello123
11

赋值运算符

符号含义
=加法
+=减法
-=乘法
*=除法
/=求模、求余
%=自增

赋值运算结果与先运算后赋值结果相同,只是算作一次运算

int b=10;
b+=12;
/*---------*/
int b=10;
b=b+12;

结果是相同的

b=22

关系运算符

符号含义
<大于
>小于
==等于
<=小于等于
>=大于等于
!=不等于

逻辑运算符

符号含义结果
&左右相同结果为真
|左右有一端为真,则为真
!遇真为假,遇假为真
^异或左右相同为假,左右不同为真
&&短路与第一个条件为假时,不判断第二个条件,结果直接为假
||短路或第一个条件为真时,不判断第二个条件,结果为真

位运算符

以2进制形式运算

符号含义结果
&左右两边第n位,同时为1时,结果为1,否则为0
|左右两边第n为,有一位为1,结果为1,否则为0
~原来的1变成0,原来为0变成1
^异或两边的第n位,相同为0,不同为1
>>右移右移n位相当于除以2的n次幂
<<左移左移n位相当于乘以2的n次幂
>>>无符号右移

5.三元表达式

表达式1?表达式2:表达式3

判断表达式1的结果,若为true结果为表达式2,否则为表达式3

10<9?1:2
//结果 2
10>9?1:2
//结果 1


顶部

转载于:https://www.cnblogs.com/skyli665/p/10071131.html

相关文章:

  • Linux中的find(-atime、-ctime、-mtime)指令分析
  • vue中watch,computed,mehtod执行顺序
  • Java基础-时间类
  • 如何使用“预训练的词向量”,做文本分类
  • 字符串匹配基础上
  • Curator教程(一)快速入门
  • 阿里云搭建hadoop集群服务器,内网、外网访问问题(详解。。。)
  • 枚举与switch组合使用
  • 如何用纯 CSS 创作一个货车 loader
  • 阿里云马劲:保证云产品持续拥有稳定性的实践和思考
  • C# 获取对象 大小 Marshal.SizeOf (sizeof 只能在不安全的上下文中使用)
  • Oracle-SQL*Plus 简单操作
  • thinkphp 使用paginate分页搜索带参数
  • Money去哪了- 每日站立会议
  • ethereumjs/merkle-patricia-tree-2-API
  • HTTP中的ETag在移动客户端的应用
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • java概述
  • PAT A1120
  • PHP的Ev教程三(Periodic watcher)
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • react-native 安卓真机环境搭建
  • session共享问题解决方案
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Xmanager 远程桌面 CentOS 7
  • 阿里云应用高可用服务公测发布
  • 关于字符编码你应该知道的事情
  • 前端性能优化——回流与重绘
  • 微信小程序开发问题汇总
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​linux启动进程的方式
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • (1) caustics\
  • (4) PIVOT 和 UPIVOT 的使用
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (安卓)跳转应用市场APP详情页的方式
  • (笔试题)合法字符串
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (转)3D模板阴影原理
  • .Net IE10 _doPostBack 未定义
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • []我的函数库
  • [2016.7 day.5] T2
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C++]Leetcode17电话号码的字母组合
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [GN] DP学习笔记板子