首页 > 编程语言 >Java基础语法

Java基础语法

时间:2023-04-12 19:36:23浏览次数:40  
标签:运算符 Java 变量 基础 语法 首字母 类型 字节

注释、标识符、关键字

注释

  • 注释并不会被执行,是给我们程序员看的

  • 书写注释是一个非常好的习惯

  • Java注释的分类:

    • 单行注释 ://

    • 多行注释:

      /**

      *

      */

    • 文档注释

标识符

  1. 标识符的作用

  • 用来表示变量名、类名、方法名、数组名和文件名等

  • 是一个有效的字符序列

  1. 规则

  • 由字母、数字和下划线(_)、美元符号($)组合而成

  • 以字母,下划线或美元符号开头,不能以数字开头

  1. 命名潜规则

  • 见名思义

  • Java大小写敏感

  • 所有单词靠在一起,大写中间单词首字母;

  • 变量、方法及对象的首字母小写

  • 类名首字母大写

关键字

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都成为标识符。

  • 什么是关键字

    • 是指被系统所保留使用的标识符

    • Java语言不允许用户对关键字赋予其他的含义

    image-20230412100751399

数据类型

强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

  • 更加安全,但是速度慢

弱类型语言

  • 要求变量的使用要不严格符合规定

Java的数据类型

基本类型(primitive type)

数值型
  • 有固定表数范围和字段长度,不受具体操作系统和硬件影响

  1. 整数类型

    • byte型,1个字节,8位,取值范围为:-128~127

    • short型,2个字节,16位,取值范围为:-2^15~2^15-1

    • int型,4个字节,32位,取值范围为:-2^31~2^31-1

    • Long型,8个字节,64位,取值范围为:-2^63~2^63-1,在数字后面加L

  2. 浮点类型(小数)

    • float型,占4个字节,32位,表数范围-3.403E38~3.403E38,在数字后面加F

    • double型,占8个字节,64位,表数范围-1.798E308~1.798E308

  3. 字符类型

    • char型,2个字节,占16位,范围为0~65535

    • 与ASCII码相比的优越性,如:‘a’、‘中’‘#’等;

    string不是字符串

boolean类型
  • 适于逻辑运算,一般用于程序流程控制

  • 占8位,默认为false

  • 只允许取值为true和false(不可用0和1替代)

什么字节

  • 位:是计算机内部数据存储的最小单位,11001100是一个二进制数

  • 字节:是计算机处理数据的最基本单位,习惯用B来表示

  • 1B=8bit

  • 字符:是计算机使用的字母、数字、字、和符号

引用类型(reference type)

  1. 引用——本质上是一种带有很强的完整性和安全性的限制的指针

  1. 引用常量:类、接口、数组

数据类型拓展

整数拓展

  • 二进制0b

  • 十进制

  • 八进制0

  • 十六进制0x 0~9,A~F

浮点数拓展

  • float:有限的,离散,舍入误差,只是接近,但不等于

  • double:

  • 最好完全避免使用浮点数进行比较

字符拓展

  • 强制转行,所有的字符本质是数字

  • 编码 Unicode

转义字符

  • \t 制表符

  • \n 换行

类型转换

概念

  • 由于Java是强类型语言,所以有时运算的时候需要类型转换

  • 转换顺序

    从低到高

    byte,short,char-> int -> long -> float ->double

  • 要避免内存溢出

  • 注意精度问题

强制转换

  • 高 ---低

  • 不能转换布尔值

  • 不知能转换不相关的类型

自动转换

  • augmented、 conversion

  • 加宽转换、系统自动完成

变量和常量

变量

  • 变量是什么:就是可以变化的量

  • Java是一种强类型语言,每一个变量都必须声明其类型。

  • Java变量是程序中最基本的存储单元,其要素包括变量名,值,变量类型和作用域

    type varName [=value][{,varName[=value]}];
    //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
  • 注意事项:

    • 每一个变量都有类型,类型可以是基本类型,也可以是引用类型。

    • 变量名必须是合法的标识符

    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束,

  • 局部变量:必须声明和初始化初始值

  • 类变量:static,从属于类

  • 实例变量:从属于对象,如不自行初始化,

常量

  • 常量(Constant):初始化后不能在改变值,不会变动值。

    final 常量名= 值;
    final double PI=3.14;
  • 常量名一般是用大写字符

变量的命名规则

  • 所有的变量、方法、类名都要见名知意;

  • 类成员变量:首字母小写和驼峰原则

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线

  • 类名:首字母大写和驼峰原则

  • 方法名:首字母小写和驼峰原则

  • 驼峰原则:除了第一个单词以外,后面的单词首字母大写。

运算符

Java语言支持的运算符

  1. 算数运算符:+,-,*,/,%,++,--

  2. 赋值运算符 :=

  3. 关系运算符:>,<,>=,<=,==,!=,instanceof

  4. 逻辑运算符:&&(与),||(或),!(非)

  5. 位运算符:&,|,^,>>,<<,>>>

  6. 条件运算符:?,:

  7. 扩展赋值运算符:+=,-=,*=,/=

注意:

  • ++a和a++的区别:

    a++、先赋值再加一

    ++a、先加一,再赋值

  • 幂运算,无2^3,有功能类

  • 逻辑运算符:

    &&:逻辑与运算:两个变量为真,才是true

    ||:逻辑或运算:两个变量有一个为真,才为true

  • 位运算的效率极高

  • 三元运算符:

    x?y: 表示:如果x==true,则结果为y,否则结果为z

  •  

标签:运算符,Java,变量,基础,语法,首字母,类型,字节
From: https://www.cnblogs.com/hyb958069527/p/17310953.html

相关文章

  • c#中byte数组0x_(C#基础) byte[] 之初始化, 赋值,转换。
    c#中byte数组0x_(C#基础)byte[]之初始化,赋值,转换。原文链接:https://blog.csdn.net/weixin_39862716/article/details/111506430byte[]之初始化赋值用forloop赋值当然是最基本的方法,不过在C#里面还有其他的便捷方法。1.创建一个长度为10的byte数组,并且其中每个byte的......
  • javaweb-学习创建servlet
    Servlet创建、声明、映射,利⽤ServletContext统计⼀个⽹站的访问总量。1)、创建一个servelet选择要用到的方法2)、编辑serveletpackagecom.cont;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletContext;importjavax.servlet.Ser......
  • 阿里云 SMS 短信 Java SDK 封装
    Github&Issues: https://github.com/cn-src/aliyun-sms官方文档:https://help.aliyun.com/document_detail/55284.html?spm=5176.8195934.1001856.3.5cd64183fNqodO ......
  • 第二章 MATLAB语言基础
    一、基本概念1、MATALAB主要数据类型 2、整数类型MATLAB中提供了8种内置的整数类型,如下:由于MATLAB中数值的默认存储类型是双精度浮点类型,因此必须通过表2-1中列出的转换函数将双精度浮点数值转换成指定的整数类型。在转换中,MATLAB默认将待转换数值转换为最近......
  • 图数据库驱动的基础设施运维实操
    本文系图技术在大型、复杂基础设施之中SRE/DevOps的实践参考,并以OpenStack系统之上的图数据库增强的运维案例为例,揭示图数据库、图算法在智能运维上的应用。本文所有示例代码开源。最近,有些尚未使用过图技术、DevOps/Infra领域的工程师在NebulaGraph社区询问是否有「图......
  • 图数据库驱动的基础设施运维实操
    本文系图技术在大型、复杂基础设施之中SRE/DevOps的实践参考,并以OpenStack系统之上的图数据库增强的运维案例为例,揭示图数据库、图算法在智能运维上的应用。本文所有示例代码开源。最近,有些尚未使用过图技术、DevOps/Infra领域的工程师在NebulaGraph社区询问是否有「图......
  • mysql insert|replace语法
    insert语法replace语法版权声明:本文所有权归作者!商业用途转载请联系作者授权!非商业用途转载,请标明本文链接及出处!赞成、反驳、不解的小伙伴,欢迎一起交流!......
  • PAT-basic-1028 人口普查 java c++
    一、题目某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过......
  • Java构建树结构的公共方法
    一、前提pId需要传入用来确认第一级的父节点,而且pId可以为null。树实体类必须实现:TreeNode接口MyTreeVo必须有这三个属性:id、pId、children可以根据不同需求,配置TreeNode和MyTreeVo中固定的属性二、代码定义TreeNode接口publicinterfaceTreeNode{StringgetId(......
  • helm模板文件chart编写语法
    一、简单介绍1、快速创建一个chart模板helmcreatemychartmychart├──charts├──Chart.yaml├──templates│  ├──deployment.yaml│  ├──_helpers.tpl│  ├──hpa.yaml│  ├──ingress.yaml│  ├──NOTES.txt│  ├─......