1.java语法基础(一)

语法基础

注:主要记录Java有而C++没有的特点

1.注释

单行多行跟C++无区别

文档注释:

/**
*@(注释标题1) 具体内容
*@(注释标题2) 具体内容
*/

2.关键字

在这里插入图片描述

java可以用中文命名标识符

3.数据类型

跟C++一样,java也是强类型语言

3.1基本类型

整数类型含义
byte占1个字节:-128~127
short占2个字节:-32768~32767
int占4个字节:-2147483648~2147483647
long占8个字 节: -9223372036854775808~9223372036854775807

没有long long类型

int n1=10;
long n2=10L;    //加个L来标定10是long类型,否则报错

int i1=10;   //十进制
int i2=010;  //八进制0
int i3=0x10; //十六进制0x

int x=10_00_00    //打印x时下划线不会被输出。这种方法主要是为了更清楚地看一个大数字
浮点类型含义
float占4个字节
double占8个字节
long f1=1.1F;     //加个F来标定1.1是float类型,否则报错
double f2=1.1;
字符类型含义
char2个字节, Unicode编码(U0000~UFFFF)
布尔类型含义
boolean(不是bool)占一位。只有true、false两个值

3.2引用类型

类、 接口、数组

4.类型转换

在这里插入图片描述

(类型)变量名     //强制转换   高-->低

long a=1000000000;
int b=10;
long x=a*b;   //x会输出10000000000,b在计算过程中会自动向上转换
//如果声明的是int a,那么a*b不会产生类型转换,计算结果会溢出,x会获得溢出值

注:1.不能对boolean进行转换。

​ 2.不能把对象类型转换位不相关的类型。

​ 3.在把高容量类型(如long)转换到低容量类型(如int)的时候要执行强制转换。反之会执行自动转换。

​ 4.转换的时候可能存在内存溢出或精度问题。

5.变量

实例变量若不初始化,一般默认值都是类似0,0.0,null,false的形式

类变量:用static修饰

public class Demo{
    static double salary=2500;
    double age=25;
    
    public static void main(String[] args){
        Demo demo=new Demo();
        System.out.print(demo.age); //实例变量必须通过对象调用
        System.out.print(salary);   //类变量不用通过对象调用
    }
}

常量

java的常量用final修饰

变量命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母用大写 monthCommonBonus
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,LinkList
  6. 方法名:首字母小写和驼峰原则

6.运算符

java多了一个instanceof,其他跟C++一样

instance的作用是测试它左边的对象是否是它右边的类的实例,返回boolean 的数据类型。

boolean result = object instanceof class
public static void main(String[] args) {
   Object testObject = new ArrayList();
      displayObjectClass(testObject);
   }
   public static void displayObjectClass(Object o) {
      if (o instanceof Vector)
      System.out.println("对象是 java.util.Vector 类的实例");
      else if (o instanceof ArrayList)
      System.out.println("对象是 java.util.ArrayList 类的实例");
      else
      System.out.println("对象是 " + o.getClass() + " 类的实例");
   }
}
//输出为"对象是 java.util.ArrayList 类的实例"

对象若是 类(或直接子类、间接子类,也可以说是同一继承树) 的对象 那么instanceof会返回true。

null用instanceof跟任何类型比较时都是false。

//一个特例
int a=10,b=10;
System.out.print(""+a+b);   //输出20
System.out.print(a+b+"");   //输出1010
//从左往右看来判断"+"号是字符串连接还是算数加法

更多数学运算可以调用Math类

7.包机制

package

类似于C++的namespace。也可以看成文件夹。可以避免命名冲突

在这里插入图片描述

package  pkg1[.pkg2[.pkg3...]]

在这里插入图片描述

类a放在目录Mitchell.tools下,因此编写类a的时候必须在开头加上一句

package Mitchell.tools;

编辑类HelloWorld,必须在开头加上一句

package Mitchell;

import导包

import语句必须放在package语句下面

import package1[.package2].(classname | *);    //*代表相关包下的所有类

8.JavaDoc

目的:生成自己的API文档

基本内容

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

在这里插入图片描述
按目录方式打开文件
在这里插入图片描述当前文件目录
在这里插入图片描述

生成文档的方法

方法1 命令行

在这里插入图片描述

方法2 idea内置工具

在这里插入图片描述

在这里插入图片描述

效果

在这里插入图片描述
网页效果在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值