java基础:java基础语法

打印 上一主题 下一主题

主题 559|帖子 559|积分 1677

注释


  • 单行注释:对某一行进行注释,使用“/注释内容/”标识
  • 多行注释:可以书写多行,使用“/*注释内容*//”表示
  • 文档注释:这个内容对IDEA是有意义的,/**注释内容*/
    1. public class Hello {
    2.     //单行注释
    3.     //注释后会被编译器忽略,不会作为语句编译
    4.     //每个单行注释只能写一行
    5.     /*
    6.     多行注释
    7.     这个注释可以写多行
    8.      */
    9.     public static void main(String[] args){
    10.         /**
    11.          * @Description 这里是文档注释,这段会被IDEA识别
    12.          * @author Muling
    13.          */
    14.         System.out.println("Hello,World!");//这句输出Hello,World!
    15.     }
    16. }
    复制代码
标识符和关键字


  • 关键字
    java定义的一些保留字,用于区分语法,不能用于标识符

  • 标识符
    标识符是所有组成部分的名称,如变量名、方法名、类名等等
数据类型

Java里的数据类型

JAVA是一种强类型语言,所有变量需要先声明后使用。
Java数据类型分为两个部分:基本类型和引用类型,这里主要说明基本类型。

基本数据类型如下:
                数据类型        占用空间(byte)        表示范围                    整型        byte        1        -128~127                    short        2        -32768~32767                int        4        -2147483648~2147483647                long        8     -9223372036854775808~9223372036854775807                    浮点型        float        4                double        8                    字符型        char        2                    布尔型        boolean        1 bit   
  1. //整型
  2. int num = 10_000_000//数字中间可以使用_分隔(便于阅读)
  3. byte num2 = 20;
  4. short num3 = 30;
  5. long num4 = 40L;//Long型后要加“L”
  6. //浮点型
  7. float num5 = 3.1F;//Float型后加“F”
  8. double num6 = 3.1;
  9. //字符
  10. char c = 'a';
  11. //布尔
  12. boolean flag = true;
  13. boolean flag = false;
复制代码
进制


  • 十进制
  • 二进制:0b
  • 八进制:0
  • 十六进制:0x
浮点数精度问题

浮点数有精度问题,如果需要精确计算,可以使用BigDecimal类。
字符

字符值

char型存储的数为Unicode值
如“a”为97,“A”为65,“好”为22909
值的范围为0~65535
转义字符


类型转换

Java是强类型语言,不同类型间运算的时候需要进行类型转换,换为同一类型后再计算。一般是从小向大进行转换,大向小转换会出现溢出。

  • 布尔类型不能进行转换!
  • 需要注意内存溢出和精度问题!
  • 浮点型向整型转换会进行向下取整(向0靠近)

强制类型转换

大到小转换需要使用强制类型转换
  1. float a = 1.3F;
  2. int b = (int)a;
复制代码
自由类型转换

小到大的转换是自由类型转换(自动转换)
变量、常量、作用域

变量

可以变化的量,变量使用前需要声明。
变量声明:
type varName[=value][,varName[=value]]
作用域


  • 类变量:加了static关键字修饰,可以直接在类内使用
  • 实例变量:需要调用类使用,不初始化的基本数据类型默认值为0,其余为null
  • 局部变量:在方法内部使用,使用前需要初始化
    1. public class Hello {
    2.     //类变量:加了static修饰
    3.     static double salary = 5000;
    4.     //实例变量:从属于对象,不初始化的基本数据类型默认值为0,其余为null
    5.     String name;
    6.     public static void main(String[] args){
    7.       //局部变量,必须声明和初始化
    8.        char c = '好';
    9.        Hello hello = new Hello();
    10.        //System.out.println(name); //会报错
    11.        System.out.println(hello.name);
    12.        System.out.println(salary);//类变量直接可用
    13.     }
    14. }
    复制代码
常量

与变量基本相同,需要使用final修饰,不可修改。
命名原则


类名首字母大写,其他小写,使用驼峰写法,常量全大写,下划线分隔
运算

运算符



Math类

内含非常多的数学运算方法,幂运算、绝对值等需要调用
包机制

包可以理解为文件夹,为了更好地组织类,用于区分类的命名空间
常用公司域名倒置作为包名,如com.baidu.www
包语句格式:
  1. package pkg1[.pkg2[.pkg3...]]
复制代码
用文件夹的路径理解就是该文件属于pkg1\pkg2\pkg3...\文件名
导入类的格式为:
  1. import pkg1[.pkg2[.pkg3...]].classname
复制代码

  • 支持通配符,如*,表示一个包内的所有类
JavaDoc

可对类、方法进行说明


在命令行使用javadoc -encoding UTF-8 -charset UTF-8 文件名
生成说明文档,打开index.html可以查看
也可以直接在IDEA 工具->生成javadoc
Scanner

包:java.util.Scanner,用于IO
基本语法:
  1. Scanner s = new Scanner(System.in)
复制代码
使用Scanner类的next()与nextLine()获取输入的字符串,读取前使用hasNext()与hasNextLine()判断是否有输入
  1. public static void main(String[] args){
  2.      //创建一个扫描器
  3.         Scanner scanner = new Scanner(System.in);
  4.         System.out.println("使用next接收");
  5.         if(scanner.hasNext()) {
  6.             //判断是否有输入
  7.             String in = scanner.next();//接收
  8.             System.out.println(in);
  9.         }
  10.         scanner.close();//关闭扫描器
  11.     }
复制代码

  • next()获取输入:输入从有效字符开始,空白符号之前的所有有效字符部分
  • nextLine():获得换行符前所有内容
判断


  • hasNext():是否有字符串
  • hasNextLine():是否有字符串(与nextLine对应)
  • hasNextInt():是否有整数
  • hasNextByte():是否还有Byte
  • hasNextFloat():是否还有Float
  • ...
输入


  • next()
  • nextLine()
  • nextInt()
  • nextFloat()
  • ...

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表