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

Day04.Java基础语法

时间:2024-09-08 16:47:26浏览次数:8  
标签:Java 变量 int System Day04 语法 类型 println out

Java基础语法

注释、标识、关键字

注释

注释并不会被执行,是给写代码的人看的

Java的注释有三种:

  1. 单行注释
  2. 多行注释
  3. 文档注释

标识符

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for go to if implements import
instance of int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

类名、变量名、方法名

  • 所有的标识符都应该以字母、美元符 或者 下划线 开始
  • 首字符之后可以是字母、美元符、下划线 或者 数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感
  • 可以使用中文命名

数据类型

强类型语言

要求变量的使用要严格符合规定(安全性高)

弱类型语言

变量的使用可以不符合规定(运行速度快)

Java的数据类型分为两大类

  • 基本类型

    • 数值类型
      • 整数类型
        • byte占1个字节范围:-128~127
        • short占2个字节范围:-32768~32767
        • int占4个字节范围:-2147483648~2147483647
        • long占8个字节范围:-9223372036854775808~9223372036854775807
      • 浮点类型
        • float占4个字节
        • double占8个字节
      • 字符类型
        • char占2个字节
    • boolean类型:占1位其值只有true和false两个
  • 引用类型

    • 接口
    • 数组
public class Demo01 {
    public static void main(String[] args) {
        //八大基本数据类型

        //整数
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 40L;//Long类型要在数字后面加个L
        //整数拓展//二进制0b开头
        int i1 = 10;//十进制
        int i2 = 010;//八进制0开头
        int i3 = 0x10;//十六进制0x开头
        System.out.println("===========================================================================");

        //小数
        float num5 = 5.0F;//float类型要在数字后面加个F
        double num6 = 3.1415926535897932384626433832795;
        //浮点数拓展  float  有限  离散  舍入误差  大约  接近但不等于
        float d1 = 0.1f;
        double d2 = 1.0 / 10;
        System.out.println(d1 == d2);//false
        float f1 = 2333333333333333333f;
        float f2 = 2333333333333333333f + 1;
        System.out.println(f1 == f2);//true
        //最好不要用浮点数进行比较
        //银行业务怎么标识?钱?
        //BigDecimal  数学工具类
        System.out.println("===========================================================================");

        //字符
        char name1 = 'A';
        //字符拓展
        char c1 = 'a';
        char c2 = '虑';
        System.out.println(c1);
        System.out.println((int) c1);//强制转换
        System.out.println(c2);
        System.out.println((int) c2);//强制转换
        //所有的字符本质上还是数字  都有Unicode编码  0-65536
        char c3 = '\u0061';
        System.out.println(c3);
        //转义字符
        //  \t  制表符(空格)
        //  \n  换行
        System.out.println("Hello\tWorld!");
        System.out.println("Hello\nWorld!");
        System.out.println("===========================================================================");

        //字符串,String不是关键字,类
        String name2 = "东方语虑";
        //字符串拓展
        String sa = new String("Hello World");
        String sb = new String("Hello World");
        System.out.println(sa == sb);//false  内存地址不同
        String sc = "Hello World";
        String sd = "Hello World";
        System.out.println(sc == sd);//true
        //对象  从内存分析
        System.out.println("===========================================================================");

        //布尔值:是非
        boolean name3 = true;
        //boolean name3=false;
        //布尔值拓展
        Boolean flag = true;
        if (flag == true) {}//新手
        if (flag) {}//老手
        //Less is More!  代码要精简易读
    }
}
  • 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数
  • 字节(byte):是计算机 数据处理 的基本单位,习惯上用大写B来表示
  • 1B=8bit;1KB=1024B;1M=1024KB;1G=1024M;1TB=1024G
  • 字符:是指计算机中使用的字母、数字、字和符号

类型转换

低-------------------------------------------------------------------->高

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

运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换 (类型)变量名 高----->低
  • 自动类型转换 低----->高

注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 转换的时候可能存在内存溢出或者精度问题

    System.out.println((int)23.7); //23

    System.out.println((int)-45.89f); //-45

变量、常量

变量就是可以变化的量

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

Java变量是程序中最基础的存储单位,其要素包括变量名、变量类型和作用域

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量
  • 实例变量:从属于对象
  • 局部变量:必须声明和初始化值,只在方法里有用
public class Demo02{
    //类变量static
    static double salary=25000;

    //实例变量:从属于对象;如果不进行初始化,会变成这个类型的默认值
    //默认值:0;0.0;布尔值默认是false;除了基本类型其他的都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args){
        //局部变量;必须声明和初始化值
        int i=10;
        System.out.println(i);

        //实例变量 变量类型 变量名字=new Demo02()
        Demo02 demo02 = new Demo02();
        System.out.println(demo02.name);
        System.out.println(demo02.age);

        //类变量static
        System.out.println(salary);
    }
}

常量:初始化之后不能再改变值

常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

final 常量名=值

final double PI=3.14

常量名一般用大写字符

修饰符不存在先后顺序(static final double PI=3.14;final static double PI=3.14)

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则(除了第一个单词外,后面的单词首字母大写):monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则

运算符

  • 算数运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=instanceof(不等于)
  • 逻辑运算符:&&,||,! (与或非)
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:?,:
  • 扩展赋值运算符:+=,-=,*=,/=
public class Demo03 {
    public static void main(String[] args) {
        //二元运算
        //Ctrl+D复制当前行到下一行
        int a = 10;
        int b = 15;
        int c = 20;
        int d = 25;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / (double) b);//a,b都为int类型,输出也会是int类型,需强制转换

        long A = 123123123123123123123;
        int B = 123;
        short C = 12;
        byte D = 1;
        System.out.println(A + B + C + D);//Long     有Long类型输出为long类型
        System.out.println(B + C + D);//Int     无Long类型默认为Int类型
        System.out.println(C + D);//Int     有double类型输出为double类型

        //关系运算符返回的结果:布尔值     正确,错误
        System.out.println(a > b);//false
        System.out.println(a < b);//ture
        System.out.println(a == b);//false
        System.out.println(a != b);//ture

        //模运算%     取余
        System.out.println(c % a);//5
        System.out.println(d % a);//5

        //++  自增  --  自减  一元运算符
        int e = a++;//执行完这行代码后,先给e赋值,再自增
        //e=a=5;a=a+1=6
        System.out.println(a);//6
        System.out.println(b);//5
        //a=a+1=7;f=a=7
        int f = ++a;//执行完这行代码前,先自增,再给f赋值
        System.out.println(a);//7
        System.out.println(c);//7

        //幂运算  2^3  很多运算我们会用到一些工具类来操作
        double pow = Math.pow(2, 3);//8
        System.out.println(pow);

        //逻辑运算符  与  或  非
        boolean m = true;
        boolean n = false;
        System.out.println("m && n:" + (m && n));//逻辑与运算:两个变量都为真,结果才为真
        System.out.println("m || n:" + (m || n));//逻辑或运算:两个有一个为真,结果才为真
        System.out.println("!(m && n):" + (!m && n));//如果是真则变为假,如果是假则变为真

        //短路运算
        int p = 5
        boolean q = (p < 4) && (p++ < 4);//检测到 或 前有false,则 或 后面不执行
        System.out.println(q);//false
        System.out.println(p);//5

        //位运算  二进制  效率高
        /*
        E=0011 1100
        F=0000 1101
        E&F     //0000 1100  对应位都是1,结果才为1
        E|F     //0011 1101  对应位都是0,结果才为0
        E^F     //0011 0001  对应位相同,结果才为0
        ~F     //1111 0010  取反
        
        2*8怎么运算最快  2*2*2*2
        <<  左移  >>  右移
         */
        System.out.println(2 << 3);
        /*
        0000 0000  0
        0000 0001  1
        0000 0010  2
        0000 0100  4
        0000 1000  8
        0001 0000  16
         */

        //扩展运算符
        int M = 10;
        int N = 20;
        M += N;//M=M+N
        System.out.println(M);//30
        M -= N;//M=M-N
        System.out.println(M);//10

        //字符串连接符  +  运算前出现String类型,则后方操作数都会转换成String类型,再进行连接
        System.out.println("" + a + b);//1020
        System.out.println(a + b + "");//30

        //三元运算符
        //x ? y :z
        //如果x==true,则结果为y,否则结果为z
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        //if
        System.out.println(type);
    }
}    

包机制、JavaDoc

包机制:为了更好地组织类,区别类名的命名空间

包语句的语法格式为:package pkg1[. pkg2[. pkg3...]];

一般利用公司域名倒置作为包名:com.bilibili.www

导入包以使用该包:import package1[.package2...].(classname|*);

导入某个包下所有的类:import package.*;

《阿里巴巴开发手册》:规范

JavaDoc参数信息

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

生成JavaDoc文档:java.doc -encoding UTF-8 -charset UTF-8 Demo04.java

使用IDEA生成JavaDoc文档

标签:Java,变量,int,System,Day04,语法,类型,println,out
From: https://www.cnblogs.com/dongfangyulv/p/18403107

相关文章

  • Javaweb-多表查询
    1.createtabledept( didintprimarykeyauto_increment, dnamevarchar(20));2.createtableemp( idintprimarykeyauto_increment, namevarchar(10), genderchar(1), salarydouble, join_datedate, dep_idint, FOREIGNkey(dep_id)REFERENCESde......
  • 1-3Java变量的类型
    Java变量的类型在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:typeidentifier=value,identifier1=value1,.....格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。以下列出了一些变量的声明实例。注意有些包含了......
  • Java——堆
    目录一、什么是堆二、堆的存储方式三、堆的创建向下调整向上调整四、堆的时间复杂度五、堆的插入与删除常见习题完整代码一、什么是堆九月在老家是收割水稻的月份,每次打完水稻,农民伯伯就会拿稻杆累成一堆。我觉得这个稻杆堆和数据结构堆外形有点相似哈。堆是一棵......
  • Spire.Doc for Java Version:12.9
    Spire.DocforJavaisaprofessionalWordAPIthatempowersJavaapplicationstocreate,convert,manipulateandprintWorddocumentswithoutdependencyonMicrosoftWord.Byusingthismultifunctionallibrary,developersareabletoprocesscopioustasks......
  • 代码随想录算法训练营第九天 | Javascript | 力扣Leetcode | 手撕KMP的一天 | 28. 找
    目录前言简介题目链接:28.找出字符串中第一个匹配项的下标题目链接:459.重复的子字符串前言踏平坎坷成大道,斗罢艰险又出发!自律的尽头是自控,自控的尽头是硬控。愿道友们披荆斩棘,终能得偿所愿。简介本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄弱。......
  • 2024-2025年最值得选的Java毕业设计选题大全推荐:热门选题
    一、前言......
  • Spire.PDF for Java Version:10.9.0
    Spire.PDFforJavaisaPDFAPIthatenablesJavaapplicationstoread,writeandsavePDFdocumentswithoutusingAdobeAcrobat.UsingthisJavaPDFcomponent,developersandprogrammerscanimplementrichcapabilitiestocreatePDFfilesfromscratchor......
  • Day01 MarkDown语法学习
    MarkDown语法学习标题#+空格一级标题##+空格二级标题字体粗体**粗体**斜体*斜体*斜体加粗***斜体加粗***删除线~~删除~~引用引用>引用分割线---或者***图片![截图2](https://cdn.luogu.com.cn/upload/usericon/1.png)超链接我的博客[我的博客](htt......
  • 1-1java语法规范
    Java语法规范java是面向对象的编程语言,一个java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍一下类,对象,方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色,名字,品种;行为有:摇尾巴,叫,吃等......
  • 1-2Java基本数据类型
    Java基本数据类型变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java的两大数据类型:内置......