【java核心技术】Java知识总结 -- 语法篇

本文总结了Java编程中的基本概念,包括数值类型间的转换(如无损转换与有损转换),位运算符的使用,String类的特性,以及控制流程中的块作用域、switch语句、带标签的break语句。还探讨了数组的声明与访问,以及高效的foreach循环。这些知识点对于构建扎实的Java基础至关重要。
摘要由CSDN通过智能技术生成


下面是看Java核心技术卷1时觉的有必要进行总结的知识点。虽然有一些知识不是很常用,但是还是很有必要掌握的,对于构建完整的知识体系十分的重要。

第三章 Java基本程序设计结构

数值类型之间的转换

我们经常需要将一种数值类型转换成另外一种数值类型。

image-20220910010212922

其中实线表示的是无精度丢失的转换,虚线表示可能有精度丢失的转换。

比如将byte转换成short精度不会损失,而将int转换成float将会导致精度的损失。

对于 byte、short、char型的相互运算,会先将它们强转为int型再进行运算.

		byte a = 1;
        byte b = 2;
        short c = 3;
        short d = 4;
        char e = 'a';
        char f = '\u0000';

byte类型相加

在这里插入图片描述

byte + short:

在这里插入图片描述

byte + char:

在这里插入图片描述

short + char:

在这里插入图片描述

char + char:

在这里插入图片描述

位运算符

位运算符在实际的工作中虽然用的不多,但是知道它的语法和原理也是很有必要的。

image-20220910011330717

在本节中会涉及到原码,反码补码的知识可以参考下面的文章

计算机中原码,反码,补码详解

String类型的详解

如果想对于String有更加详细的认识,可以参考文章:字符串参考文章

下面主要讲的是StringBuilder,是线程不安全的,但是效率最高的。

效率的高低排序 StringBuilder>StringBuffer(线程安全的)>String

image-20220910111010887

StringBuilder builder = new StringBuilder();

当需要添加内容的时候,可以调用append()

builder.append(ch)  //添加一个单一的字符
builder.append(str)   //添加一个字符串    

image-20220910111313751

String completedString = builder.toString();

image-20220910111419303

image-20220910111636269

image-20220910111645719

控制流程

块作用域

image-20220910115159709

但是需要注意的嵌套的两个块不能有同名变量的声明。如下面的代码中将会报错。

public class Exer {
    public static void main(String[] args){
        int a;
        {
            int a;
            int b;
        }
    }
}

image-20220910115601223

swich语句

image-20220910120400985

image-20220910120418763

image-20220910120426051

其中的case标签可以是如下:

  • 类型为char、byte、short、或是int
  • 枚举常量
  • 从Java7开始,case标签还可以是字符串字面量

image-20220910120726341

带标签的break语句

在java中为了达到和c语言中goto语句相似效果的语句可以使用带标签的break语句,不过不太建议使用这个语句。

具体的用法

image-20220910121643042

image-20220910121729619

数组
  • 声明数组

在java中允许长度为0的数组,注意,需要注意的是长度为0的数组和null并不相同

下面两种定义长度为0的数组

int[] b = new int[0];  //长度为0的数据组
int[] c = new int[]{};  //长度为0得到数组 
  • 访问数组中的元素

image-20220910134054811

String[] a = new String[10];

image-20220910134138168

for(int i =0;i<10;i++) name[i] = "";

需要注意的是如果访问数组下标以为的元素,将会产生数组下标越界异常

foreach循环

语法格式为

for(variable:collection) statement

它定义了一个变量用于暂存集合中的每一个元素,并执行相应的语句(也可以是语句块)。collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象(例如ArrayList)。

for(int element:a) System.out.println(element);将打印数组中每一个元素,一个元素占用一行
int[] wei =new int[]{1,2,3,4,5};
System.out.println(Arrays.toString(wei));

image-20220910135220887

总结

本章为Java的程序设计结构的基础语法部分,在看完本章之后,对于一些觉得有疑惑的地方进行了代码的验证,同时对于一些不是很熟悉的知识例如位运算书中讲的不是很详细,并且感觉大部分的内容都已经忘记,因此为了弥补不足,通过查阅资料的方式进行进一步的学习。同时对于之前没有了解过的知识有了初步了认识比如带标签的break语句。看完本章的内容,整体上收获挺多,后面将更加更加认真的观看其它章节的内容,弥补不足指出。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莪假裝堅強

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值