首页 > 其他分享 >Day05 语法

Day05 语法

时间:2023-11-25 22:57:29浏览次数:43  
标签:字符 char 字节 int Day05 语法 类型 变量

1. 注释

  • 单行注释 //注释
  • 多行注释 /* 注释 */
  • 文档注释 /** 注释 */

2. 标识符命名规则 (与 js 规则一样)

  • 标识符可以含有 字母, 数字, 下划线_, (*注意此处相较于 c 语言多出一个符)

  • 不能以数字开头

  • 不能是java中的保留字和关键字

  • java也采用了 unicode 编码方式,所以字母也可以是中文

  • 建议采用驼峰法:

  •  -首字母小写,每个单词开头字母大写,其余均小写
    

3.基本数据类型

3.1 整数型

类型 长度字节 位数 取值范围 备注
byte类型 1个字节 8位 -2^7 - 2^7-1 -128 - 127
short类型 2个字节 16位 -2^15 - 2^15-1 -32768-32767
int 类型 4个字节 32位 -2^31 - 1~2^31-1
long 类型 8个字节 64位 -2^63 - 1~2^63-1 末尾加L

注解:

  • 整型的范围与运行java代码的机器无关,这一点和C、C++不同,保证了代码在不同的平台之间的可移植型。

  • int最为常用,char和short主要用于特定场合,比如底层处理文件、处理需要占用大量存储空间的数组。要表示的数据超过int类型的范围时使用长整型int.

  • 通常long类型后通常加字符“L”,例如 long a = 123L ; , 但是"L"理论上不区分大小写,但若写成小写的"l",容易与数字"1"混淆,不容易分辩,所以最好写成大写的“L”


3.2 浮点型

类型 长度字节 位数 取值范围 备注
float 类型 4字节 32位 大约±3.402 823 47E+38F(有效位为6~7位) 末尾加f
double 类型 8字节 64位 大约±1.79769313486231570E+308(有效位为15位)

注解:

  • 默认浮点数使用类型为double, 其后可加字符“d”,"d"理论上不区分大小写

  • 所以为了区分,通常浮点型末尾末尾加字符”f”, 例如 float a =3.1415926535f ;, "f"理论上不区分大小写

  • float 和 double 不能用来表示精确的值,如不能用来表示货币等。实际使用 BigDecimal 类

  • 科学记数法: 结尾的"E+数字"表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103=3140,3.14E-3 就是 3.14 x 10-3 =0.00314


3.3 字符型

类型 长度字节 位数 取值范围 备注
char 类型 2个字节 16位 \u0000 - \uffff 0 - 65535

注解:

  • Java的char类型可以表示标准的ASCII,

  • char类型还可以表示一个Unicode字符,代表一个单一的16位 Unicode 字符

  • 想要打印 Unicode 字符 可以使用 “\u”+数字

  • 字符和字符串是两种不同的数据类型。char类型使用单引号''表示,单引号里面只能有一个字符。字符串用双引号""表示,双引号中可以有很多字符。


3.4 布尔型

类型 长度字节 位数 取值范围 备注
boolean 类型 0字节 1 位 true or false 默认值是 false

注解:

  • JAVA规范中没有定义boolean类型的大小, 理论上组需要1bit 即可,但是编译时有定义:JVM规范第2版 3.3.4节

    • 单个的boolean 类型变量在编译的时候是使用的int 类型,4个字节(32bit)
    • 但如果是boolean数组在编译的时候是作为byte array来编译的,每一个元件占1字节(8 bits)

3.5 对比总结

  1. byte 作用类似于 c++中的char,但又无法直接存字符

  2. char 大小与c++不同,多了一个字节,2字节可存 unicode, 所以可以是中文

  3. java 无 unsigned 类型

  4. java 常量的需要加修饰符 final,相当于c++中的 const

基本数据类型字节数


3.6 类型转换

类型 byte => short =>int => long => float => double
优先级 低>>>>>>>>>>>>>>>>>>>>>>>>>>>>>高

低可以直接转高,但是高转低会出现溢出和丢精度的现象


4.变量

  • 类变量

  • 实例变量

  • 局部变量

    public class Person {
        //类变量: 需要关键词 static
        static int population = 1;
    
        //实例变量:从属于对象; 如果不初始化,会赋予默认值0, 0.0, false, null
        String name;
        int age;
        //mian方法
        public static void main(String[] args) {
            //局部变量: 声明后必须初始化值,不然报错
    
            /*int i;
            System.out.println(i);*/
    
            int i;
            i=10;
            System.out.println(i);
            /*
            * 实例变量需要先创建一个对象
            * 实例变量如果不复赋值则为默认值
            */
            /*
            * 创建对象
            * 变量类型 变量名 = new 构造函数;
            */
    
            Person person = new Person();
            System.out.println(person.name);
            System.out.println(person.age);
            person = null;
            /*
            * 类变量的调用
            * 类变量无需对象就可以调用
            * 相当于c++中的静态成员,整个类共用一个
            */
            System.out.println(population);
        }
    }
    
    

4.1 变量命名规则

  • 所有变量、方法、类名: 见名知意
  • 类名 : 首字母 大写 和驼峰原则: Man, GoodMan
  • 类成员变量、局部变量: 首字母 小写 和驼峰原则 : monthSalary
  • 常量 : 大写字母和下划线 : MAX_VALUE
  • 方法名 : 首字母小写和驼峰原则 : run(), runRun0

标签:字符,char,字节,int,Day05,语法,类型,变量
From: https://www.cnblogs.com/wendao101/p/17856280.html

相关文章

  • SQL 中的运算符与别名:使用示例和语法详解
    SQL中的IN运算符IN运算符允许您在WHERE子句中指定多个值,它是多个OR条件的简写。示例:获取您自己的SQLServer返回所有来自'Germany'、'France'或'UK'的客户:SELECT*FROMCustomersWHERECountryIN('Germany','France','UK');语法:SELECTcolumn_name(......
  • SQL 中的运算符与别名:使用示例和语法详解
    SQL中的IN运算符IN运算符允许您在WHERE子句中指定多个值,它是多个OR条件的简写。示例:获取您自己的SQLServer返回所有来自'Germany'、'France'或'UK'的客户:SELECT*FROMCustomersWHERECountryIN('Germany','France','UK');语法:SELECTcolumn_name(......
  • Day05 Java程序运行机制
    Java程序运行机制编译型解释型如同中国人写了一本书美国人想看编译型就类似把整本书全部翻译成美国人看得懂的书(中文书-->英文书)解释型就类似美国人找了个翻译官翻译一段美国人看一段(说一句解释一句用一下编译一下)程序运行机制源程序(*.java)文件-->Jav......
  • lua基本语法1
    一注释单行注释 两个减号是单行注释:--注释内容多行注释--[[多行注释多行注释--]] 二)基本类型Lua中有8个基本类型分别为:nil(空)----->javanull(空)boolean(布尔)、number(数字)双精度浮点数--->javaintdoublefloatstring(字符......
  • day05
    IDEA使用java中的注释java中的注释有三种单行注释://+文字多行注释:可以注释一段文本/*中间*/文档注释JavaDoc:Java标识符 ......
  • MySQL语法
    MySQL介绍数据库(DataBase,简称DB):据库是存放数据的仓库,它的存储空间很大,可以存放百万条、千万条、上亿条数据。因此,开发中只要涉及到数据,就一定会用到数据库;数据库管理系统(DataBaseManageSystem,简称DBMS):数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维......
  • 模板语法之句点符的深度查询
     views.py:defindex(request):num=10ss='lqzishandsome'b=Falsell=[1,2,43,{'name':'egon'}]dic={'name':'lqz','age':18}deftest():print('我是tes......
  • django模板使用的两种方式 模板语法之变量
    模板语法之变量DTL:DjangoTemplateLanguage1模板中使用{{python变量}}############views.pydefindex(request):num=10ss='lqzishandsome'b=Falsell=[1,2,43]dic={'name':'lqz','age':18}deftes......
  • SmtLib2语法
    Smt-Lib2实用语法教程本文或许仅适用于想快速上手smt脚本使用的人,其他的本文深度或许略有不足简介及配置SMT(SatisfiabilityModuloTheories),可满足性模理论,是一种自动推理领域的技术,用于判断逻辑公式在特定理论下的可满足性。SMT解决的是一种更加复杂的问题,即在一阶逻辑的基......
  • LR分析表语法分析
     一、实验目的1、掌握LR法进行语法分析的原理2、掌握语法分析器的设计与调试二、实验原理与要求1、原理:LR分析表分析是一种自底向上的语法分析。LR分析表内包含几种操作:①跳转;②归约;③接受。通过构造项目集簇的状态转换表实现不同状态的跳转或归约,最后归约为文法的开始符号,......