Day2 java基础

注释、标识符、关键字

注释

  • 单行注释 //

  • 多行注释 /* */

  • 文档注释 /** @Author */

标识符

  • A-Z a-z $ _开头

  • 标识符取法与c++一致

 

数据类型

  • 与c++一致,强类型语言

  • 分为两大类数据类型

    • 基本类型

      • byte:1个字节

      • short:2个字节

      • int:4个字节

      • long:8个字节,long类型要在数字加个L

      • float:4个字节,float类型要在数字后加个F

      • double:8个字节

      • char:2个字节(与c++不同)

      • boolean:1字节

      • 注:与c++一样,double和float存在精度问题,做判断时应注意

        • 浮点数是一个有限离散的数,存在舍入误差

        • 可以利用BigDecimal类来做

    • 引用类型

      • 接口

      • 数组

类型转换

  • 强制类型转换

    • 与c++一致

    • 从高字节转为低字节

  • 自动类型转换

    • byte,short,char ——> int ——> long ——> float ——> double

  • 转换的时候都可能出现溢出或者精度问题

变量、常量

  • 变量分为类变量、实例变量、局部变量

    • 类变量:在类当中声明的变量 要加static的关键字,类似于c++的静态成员变量

    • 实例变量:从属于对象,不需要初始化,类似于c++的成员变量

    • 局部变量:类中使用的局部变量,局部变量如果需要输出则必须进行初始化

  • 常量:

    • 用final关键字:类似于c++中的const

  • 命名规范

    • 均采取驼峰制

    • 常量全大写中间用_:MAX_VALUE

    • 类名首字母大写,其余首字母小写

运算符

  • 与c++一致

  • 多了一个instanceof,判断某个对象是否属于一个类

  • 有一个Math类,可以用来大部分数学运算

包机制、javaDoc

包机制

  • 有点类似于c++的命名空间

  • 一般利用公司域名倒置作为包名:例如com.baidu.www

  • 在.java文件开头,会有package com.baidu.www这一句,表示该.java代码属于哪个包

  • 导入包

    • import java.util.Date;

    • Java.lang默认导入

  • 尽量不要让包当中的命名重复

  • 每一个包的编译单元文件(.java文件)中,只能有一个public类,其他类只能作为public类的辅助类存在

 

javaDoc

  • javaDoc用来生成自己API文档

  • 参数信息

    • @author:作者名

    • @version:版本号

    • @since:指明需要最早使用的jdk版本

    • @param:参数名

    • @return:返回值情况

    • @throws:异常抛出情况

  • javaDoc命令:

javadoc -encoding UTF-8 -charset UTF-8 xxx.java

会生成一份文档供阅读

 

用户交互Scanner

  • 实现用户输入

  • Scanner对象接口:hasNext(), hasNextLine(), next(), nextLine();

  • 用完Scanner之后,注意回收,调用close()

  • next()方法读取到空白字符(空格或者回车)就停止, nextLine()方法遇到回车才停止

  • 如果用nextInt()来读取,而输入的不是int,缓冲区内的内容不会被读取

import java.util.Scanner;
public class PracticeScanner {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       if (scanner.hasNext()) {
           String str = scanner.next();
           System.out.println("out string is " + str);
      }
       scanner.close();
  }
}

 

选择结构

  • if else

  • switch:case穿透现象仍与c++一样

  • javaSE 7开始:switch可以比较字符串了

循环结构

  • 与c++一样

break && continue

  • 无goto,可以用标签

public class PracticeWhile {
   public static void main(String[] args) {
       outer:for (int i = 0; i < 10; i++) {
           for (int j = 0; j <= i; j++) {
               int res = (i + 1) * (j + 1);
               if (res % 5 == 0) {
                   continue outer;
              }
          }
           System.out.print("\n");
      }
  }
}

 

 

posted @ 2021-01-12 19:48  pumpkin_bo  阅读(30)  评论(0)    收藏  举报