Java的基础知识


活动地址:CSDN21天学习挑战赛

Java 的基础语法

因为有C语言的基础,之前在C语言学到过的知识都会简单的略过,重点介绍C语言和Java不同的地方

注释

Java中的注释有三种:

  • 单行注释 //
  • 多行注释 /* 内容 */
  • 文档注释 /** 内容 */

使用方法:

单行注释
// 这是用来解释注释的应用方法的
多行注释   
/*
这是用来解释注释的应用方法的 
*/
文档注释
/**
这是用来解释注释的应用方法的
*/

用的最多的就是单行注释了,文档注释可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档

标识符

标识符是程序员自己定义的类名、常量、变量名等,还可以定义接口名,方法名

标识符命名规则

标识符命名规则要符合语法规定,否则会报错

  • 标识符可以用字母(包括中文)、数字、下划线、美元符号组成,除此之外不能包括其他符号
  • 标识符不能以数字开头
  • Java 的关键字也不能做标识符
  • 严格的区分大小写字母,有些情况下大写 A 和小写 a 是不一样

默认遵守的规范

  • 起的名字最好是看到就知道它的作用是什么
  • 起名字时遵守驼峰命名方式,例如:每个单词的首字母大写

Java中的关键字

下面就是关键字列表:

bytecharshortintlong
floatdoublebooleanenumconst
ifelseforwhiledo while
breakcontinuecasedefineextends
protectedabstractassertcatchclass
finalfinallygotoimplementsimport
instanceofinterfacenativenewpackage
privatepublicreturnstrictfpstatic
superswitchsynchronizedthisthrow
throwstransienttryvoidvolatile

常量

固定不变的量就被称之为常量
例如:
字符串常量:由1个以上用 “ ”括起来的,比如“123”,“abc”,“hello”,“你好”
整形常量:整形的数字,比如:123
浮点常量:有小数的数字 比如:1.3,0.26
字符常量:由 ' '括起来的字符 比如:‘A’、‘B’
布尔常量:只要二种true(真) 和 false(假)

变量

Java 中的变量和C 语言略有不同
在Java中使用变量需要注意的点:

  • Java 中定义变量必须赋初始值,否则会报错
  • 在赋初始值时,初始值不能超过数据类型的范围,否则会溢出,也会报错
  • C语言的 字符 是使用ASCII码表示字符,而 Java 中使用Unicode码表示字符,不过Java的 Unicode码 也包含了ASCII码
  • Java 中不是用0表示假非0表示真,而是使用布尔类型(bollean)的 true 表示真,false 表示假

数据类型

数据类型是用来声明变量,根据不同的类型分配不同的空间
基本数据类型可以划分为 四 大类 和 八 小种
四大类:

  • 整形(没有小数)
    byte、short、int、long
  • 浮点型
    float、double
  • 布尔型(boolen)
    只有两个值true和false,true表示真,false表示假
  • 字符型
    char

八小种:

数据类型字节大小
字节型(byte)1字节
字符型(char)2字节
短整形(short)2字节
整形(int)4字节
长整形(long)4字节
单精度浮点型(float)4字节
双精度浮点型(double)8字节
布尔型(boolan)没有规定
  • Java 是没有分平台的,所以大小都按照上面来
  • Java 是没有无符号类型的,所以都是有符号类型
  • 这里和C语言不同的地方,需要注意的是 char 类型是 2 个字节,
  • float 的数据类型在定义时,要在后面加上 f ,否则会默认为 double 类型
    long的数据类型同样在定义时,要在后面加上 L ,否则会默认为 int 类型
    例如:
public static void main(String[] args) {
        float a = 63.8f;
        long b = 6L;
        System.out.println(a);
        System.out.println(b);
    }

计算数据类型的大小

public class JavaEight {
    public static void main(String[] args) {
        // 计算 int 的最大值和最小值
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
        // 计算 char 的最大值和最小值
        System.out.println(Character.MAX_VALUE);
        System.out.println(Character.MIN_RADIX);
    }
}
  • 其他的类型都是 类型名.MAX_VALUE 的格式,首字符是大写的
  • 只有 int char 的不同,类型名分别是 Integer Character

类型转换

Java中也存在强制类型转换(显式)、隐式类型转换(隐式)等,不存在C语言的截断

隐式类型转换

隐式类型转换是自动进行转换的,代码不需要经过任何处理,在代码编译时,编译器会自动进行处理
隐式类型转换都是数值较小的向数据范围大的转换
例如:

public static void main(String[] args) {
        int a = 100;
        long b = 6;
        b = a;
        System.out.println(b);
    }

强制类型转换

强制类型转换是指 数据类型较大数值强行存放到数据类型较小的空间中
例如:

public static void main1(String[] args) {
        int a = 10;
        long b = 100;
        a = b; // 这种是不行的,编译器会报错
        a = (int)b;  //正确的方法  
    }

其他的数据类型同上都是类似的

注意事项:

  • 数据范围小的向数据范围大的强制类型转换,会造成精度丢失
  • 强制类型转换有可能会失败,不相干的类型不能互相转换

类型提升

在不同的数据类型进行运算时,数据类型小的会被提升到数据类型大的
例如:
int 和 long 之间的运算,int 类型会先被提升到long 类型

public static void main(String[] args) {
        int a = 10;
        long b = 20;
        //int c = a+b; 这是错误的示范
        long c = a+b;  //正确的写法
    }
}

byte 和 byte 的运算

 public static void main(String[] args) {
        byte a = 1;
        byte b = 3;
        //byte c = a+b;  这是错误的示范
        int c = a+b; //正确的写法
    }
  • byte 和 byte 虽然都是相同的类型,但是会出现编译器报错,原因是 a 和 b 是 byte 类型,但是进行运算时会同时进行类型提升成 int 类型,最后的结果是 int 类型,所以用 byte 接收就会出错

总结:

  • 不同类型的混合运算会提升到最大的数据类型
  • 对于 short 和 byte 比 4 个字节小的类型,都会先提升到 int 类型再计算

字符串类型

在Java 中字符串是有类型的,是使用 String 类定义字符串的

 public static void main(String[] args) {
        int a = 10;
        int b = 20;
        String n = "hello";
        System.out.println("a:" + a + "b:"+b);
        System.out.println("a:" + a +b);
        System.out.println(a+b+"hello");
    }

结果:

在这里插入图片描述

  • 在Java中字符串不是以‘\0’ 为结束标志的
    Java的字符串可以和整数进行相加的,得出的结果是以拼接的形式打印
    当字符串和整数在一起使用 + 时,就是拼接到一起的意思
  • 第一个结果:
    从左边遇到的第一个是字符串,那后面就是以拼接的形式打印
    结果: a :10 b:20
    第二个结果:
    后面的 a + b 并不是相加,由于第一个是字符串,所以后面就是以拼接的形式打印
    结果: a :1020
    第三个结果:
    左边第一遇到的不是字符串,按正常计算
    结果:30hello

还有就是字符串可以和字符串进行拼接

String a = "hello ";
String b = "world";
System.out.println(a+b);

结果:
在这里插入图片描述

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值