栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础

java基础语法 注释

注释并不会被执行

  • 单行注释

// 单行注释,只能注释一行文字

  • 多行注释

多行注释,可以注释多行文字

  • 文档注释

javaDoc:文档注释

标识符 关键字

标识符的注意点
  1. 所有标识符都应以大写字母(A-Z),小写字母(a-z),美元符($)或下划线(_)开头
  2. 首字母之后可以是大写字母(A-Z),小写字母(a-z),美元符($)或下划线(_)或数字的任何字符组合(如#,%之类的特殊符号不能写入标识符当中)
  3. 不能使用关键词作为类名,方法名或类名
  4. 可以使用中文或拼音命名,但不建议这样使用
数据类型
  • 强类型语言

要求变量的使用严格符合规定,所有变量使用都必须先定义后才能使用

安全性高,但速度相对慢

  • 弱类型语言
java数据类型的两大类 基本类型(primitive type)
  • 数值类型
  1. 整数类型

byte占1个字节范围:-128—127

short占2个字节范围:-32768—32767

int占3个字节范围:-2147483648—2147483647

long占4个字节范围:-9223372036854775808—9223372036854775807

一般使用前三种够用

byte num1=10;
short num2=20;
int num3=30;       //最常用  
long num4=30L;       //long类型要在数字后面加L(大小写皆可)

拓展

进制:

二进制:0b

​ 八进制:0

​ 十进制:无前缀

​ 十六进制:0x

示例如下:

public class Dome1 {
    public static void main(String[] args) {
        int num1=0b10;
        int num2=010;
        int num3=10;
        int num4=0x10;
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);
    }
}

  1. 浮点类型(小数)

float占4个字节

double占8个字节

一般用double

float num5=40.5F;      //float类型要在数字后加F(大小写皆可)
double num6=50.157894625342;       //最常用

拓展

关于银行问题能否用浮点类型表示的问题解答

public class Dome1 {
    public static void main(String[] args) {
        float num1=0.1f;
        double num2=1.0/10;
        System.out.println(num1==num2);       //比较两个数是否相等
        System.out.println(num1);
        System.out.println(num2);
    }
}

输出数值相等,比较结果却不相等

public class Dome1 {
    public static void main(String[] args) {
        float num1=147258987456636f;
        double num2=num1+1;
        System.out.println(num1==num2);       //比较两个数是否相等
        System.out.println(num1);
        System.out.println(num2);
    }
}

输出数值不相等,比较结果却相等

浮点数能表现的字长是有限的,存在舍入误差,故而最终结果可能为大约数,接近但不等于真实结果,所以最好完全避免用浮点数进行比较

这里推荐用BigDecimal(数学工具类)

  1. 字符类型(汉字)

char占2个字符

char num7='中';       //每次只能输入一个汉字或字母

拓展

public class Dome1 {
    public static void main(String[] args) {
        char num1='a';
        char num2='我';
        System.out.println(num1);
        System.out.println((int)num1);       //强制转换
        System.out.println(num2);
        System.out.println((int)num2);
    }
}

所有字符的本质都是数字

  • boolean类型

占1位,其值只有true和false两个

boolean num8=true;
boolean num9=false;

拓展

boolean num=true;
        if (num==true){}      //新手
        if (num){}       //老手

两行代码意思相同

引用类型(reference type)
  • 接口
  • 数组
类型转换

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

  • 强制转换格式(高—低)

(类型)变量名

int num1=127;
byte num2=(byte)num1;       //强制转换
  • 自动转换格式(低—高)
byte num1=125;
int num2=num1;       //自动转换

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象转换为不想干的类型
  3. 转换的时候可能出现内存溢出或精度问题
System.out.println((int)20.5);
System.out.println((int)12.5f);

操作比较大的数时,数值溢出问题

public class Dome1 {
    public static void main(String[] args) {
    int money=10_0000_0000;       //数字之间可以用下划线分割便于识别,不会影响输出结果
    int year=30;
    long total=year*((long)money);       //在转换之前先将一个数字进行转换
        System.out.println(total);
    }
}
变量 变量概念

内存中位置确定内容不确定的空间

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

格式:数据类型 变量名=值

注意事项

  1. 每个变量都必须有类型,可以是基本类型,也可以是引用类型
  2. 变量名必须是合法的标识符
  3. 分号结尾
变量作用域
  • 类变量

关键词:static

  • 实例变量

存在于方法之外,类之中,从属于对象;如果不自行初始化,会输出这个类型的默认值(数值类型的初始化一般为0或0.0;字符串变量初始化为0000;布尔值默认为false;除了基本数据类型其他全部默认为null)

  • 局部变量

只存在于方法之中,使用必须声明和初始化,只能在声明和初始化该变量的方法中使用

public class Dome1 {
    static int day=2;       //类变量
    int da;       //实例变量
    public static void main(String[] args) {
    int money=1000000;       //局部变量
        Dome1 dome1=new Dome1();
        System.out.println(dome1.da);
        System.out.println(money);
        System.out.println(day);
    }
}
变量命名规范
  1. 所有变量,方法,类名:见名知意
  2. 所有的变量:定义时采用首字母小写和驼峰原则(除了第一个单词外,后面的单词首字母大写):monthSalary
  3. 常量:定义时采用大写字母和下划线:IP_VALUE
  4. 类名:定义时采用首字母大写和驼峰原则:ClassMate
  5. 方法名:定义时采用首字母小写和驼峰原则:runDay()
常量 常量概念

一种特殊的变量,被设定后,在程序运行过程中不允许被改变

关键词:final

格式:final 数据类型 常量名=值

**注意:**常量名一般使用大写字符

​ 数据类型之前的都为修饰符,修饰符不存在先后顺序

基本运算符
  • 算数运算符:+,-,*,/,%,++,–

a++和++a的区别

a++:a=a+1

++a:a=a+1

public class Dome1 {
    public static void main(String[] args) {
    int a=2;
    int b=a++;       //代码执行后,先给b赋值再自增
    //a=a+1
        System.out.println(a);
    //a=a+1
    int c=++a;       //代码执行前,先自增再给c赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=,instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符(效率高):&,|,^,~,>>,<<,>>>

<<:相当于*2,>>:相当于/2

拓展

如何快速计算2*8

System.out.println(2<<3);
  • 条件运算符:?:

x ? y : z

如果x==true,则结果为y,否则结果为z

public class Dome1 {
    public static void main(String[] args) {
   double a=1.74;
   String month=a>1.75?"及格":"不及格";
        System.out.println(month);
    }
}
  • 扩展赋值运算符:+=,-=,*=,/=

拓展

字符串连接符:输出语句中出现String(字符串类型),会将其后面的所有操作数转换为String类型进行连接

public class Dome1 {
    public static void main(String[] args) {
        int a=10;
        int b=5;
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}

运算符优先级

来源网址

包机制

包的本质就是文件夹

一般利用公司域名倒置作为包名

定义包:package

导入包:import

​ *(通配符):会导入这个包下所有的类

javaDoc

用来生成自己的API文档

参数信息

@author 作者名

@version 版本号

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

@param 参数名

@return 返回值情况

@throws 异常抛出情况

生成API文档的步骤

  1. 在代码中进行文档注释
  2. 在java文件所在位置打开cmd
  3. 输入javadoc -encoding UTF-8 -charset UTF-8 文件名+后缀,回车
  4. 在java文件所在位置生成index.html
  5. 打开index.html即为API文档
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号