java_day03_1Java基础语法

JAVA基础语法

目录

  1. 注释、标识符、关键字

  2. 数据类型

  3. 类型转换

  4. 变量、常量

  5. 运算符

  6. 包机制、JavaDoc

1 注释、标识符、关键字

1.1 注释

  1. 单行注释:双斜线//

  2. 多行注释:/* 多行注释*/(平时可用ctrl+/快捷注释)

  3. 文档注释:/** * */

1.2 标识符

  1. 关键字

image-20220324201937502

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

  1. 标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符$、或者下划线_开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符$、或者下划线_或者数字的任何字符组合。

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感的

  • 中文可以,但是一般不建议

2 数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义才能使用。(java就是一种强类型语言)

2.1 Java数据分为两大类

  • 基本类型:一般整数int就够用了;浮点即小数,分别与float和long对应。

  • 引用类型 数据类型具体描述如下:

image-20220324202333550

 public class demo02 {
     public static void main(String[] args) {
         //String a=10;
         String a = "10";
         System.out.println(a);
         //八大数据类型
         //整数
         int num1 = 10;  //最常用
         byte num2 = 20;
         short num3 = 30;
         long num4 = 30L; //long类型要在数字后边加个L
 
         //小数、浮点数
         float num5 = 50.1F;  //要在后边加个F
         double num6 = 3.1415926;
 
         //字符
         char name = 'A';  //注意这里是单引号
 
         //字符串,String不是关键字,是类
         String namea = "新学期";
 
         //布尔值
         boolean flag = true ;
         //boolean flag = false ;
 
    }
 }

2.2 基本数据类型扩展

 public class demo03 {
     public static void main(String[] args) {
         //=============================================================
         //整数扩展 进制 二进制0b 十进制 八进制0 十六进制0x
         //=============================================================
         int i =10;
         int i2 = 010; //八进制0
         int i3 = 0x10; //十六进制0x   0~9 A~F
         System.out.println(i);
         System.out.println(i2);      //8
         System.out.println(i3);    //16
         System.out.println("==============================================");
         //=============================================================
         //浮点数扩展? 银行业务怎么表示?
         //BigDecimal 数学工具类
         //=============================================================
         //float     能表现的字长是有限的,舍入误差   大约   接近但不等于
         //double   最好完全避免使用浮点数进行比较
         float f = 0.1f;
         double d = 1.0/10;
         System.out.println(f==d);      //输出false
         System.out.println(f);         //0.1
         System.out.println(d);         //0.1
 
         float d1= 232132132132132f;
         float d2 = d1+1;
         System.out.println(d1==d2);     //输出true
         //=============================================================
         //字符扩展
         //=============================================================
         char c1 = 'a';
         char c2 = '中';
         System.out.println(c1);         // 输出a
         System.out.println((int)c1);      //int用来强制转换,输出97
         System.out.println(c2);
         System.out.println((int)c2);    //输出20013
         //所有字符本质还是数字
         //编码 Unicode表(97=A 65=a)   2字节   最多可以表示0-65536
 
         //U0000-UFFFF
         char c3 = '\u0061';     //16进制,6*16+1=97
         System.out.println(c3); //就是a
         //=============================================================
         //转义字符
         //=============================================================
         // \t   制表符
         // \n   换行
         System.out.println("hello\nworld");
 
         //=============================================================
         // 布尔值扩展
         //=============================================================
         boolean flag = true;
         if (flag){
 
        }
 
    }
 }
 

3 类型转换

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

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

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

3.1 强制转换

3.2 自由转换

 public class demo04 {
     public static void main(String[] args) {
         int i = 128;
         //byte b =i ; 数据类型不统一
         //-----------------------------------------------------------
         //强制转换   (类型)变量名   高---->低
         //-----------------------------------------------------------
         byte b = (byte)i;
         System.out.println(i);  //128
         System.out.println(b);    //-128,内存溢出了,因为字节最多2的8次方,256即-128~127
 
         //-----------------------------------------------------------
         //自动转换     低---->高
         //-----------------------------------------------------------
         double d = (double)i;
         System.out.println(d);   //128.0
 
         //-----------------------------------------------------------
         //注意点
         //-----------------------------------------------------------
         /*
         1. 不能对布尔值进行转换
         2. 不能把对象类型转换为不相干的类型,人变成猪不可以,但是男人女人可以
         3. 只有高容量转换为低容量的时候才需要强制转换
         4.转换的时候可能存在内存溢出或者精度问题!
         */
         System.out.println("---------------------------------");
         System.out.println((int)23.7);   //23
         System.out.println((int)-45.89f);   //-45
         System.out.println("---------------------------------");
         char c = 'a';
         int e = c+1;
         System.out.println(e);    //98
         System.out.println((char)e);    //b
         //-----------------------------------------------------------
         //操作比较大数时候,注意溢出问题
         //JDK7新特性,数字之间可以用下划线分割
         //-----------------------------------------------------------
         int money =10_0000_0000;
         int years = 20;
         int total = money*years;
         long tota2 = money*years;
         System.out.println(money);    //1000000000
         System.out.println(total);    //-1474836480,计算的时候溢出了
         System.out.println(tota2);   //输出之前已经默认是int
 
         long total3 = money*((long)years);   //所以如果出现溢出问题,提前要把一个数转换为long
         System.out.println(total3);
 
 
    }
 }
 

 

知识补充

1 什么是字节

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

  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

  • 1B(byte,字节)= 8bit(位)

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

 1bit表示1位
 1Byte表示一个字节 1B=8b
 1024B = 1KB
 1024kb = 1m
 1024M = 1G

 

2 新建项目

  1. File->New->Project->java

  2. File->New->Empty project->出来文件之后再新建module即功能模块,之后如果要写代码,可以在src文件里新建java class文件

  3. File->settings->Editor->Color Scheme->java->comments,这里可以对单行、多行以及Dos注释进行样式设置,记得关闭继承才可以。

posted @   诺不克  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示