📝 Java

1404篇技术文档
  Java中的switch语句

📅  最后修改于: 2020-02-12 15:29:50        🧑  作者: Mango

switch语句是多向分支语句。它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。基本上,表达式可以是byte,short,char和int基本数据类型。从JDK7开始,它还适用于枚举类型(Java中的Enums),String类和Wrapper类。switch-case的语法:switch流程图:switch语句的一些重要规则:不允许重复的大小写值。case的值必须与swit...

  Java中的字符串使用switch

📅  最后修改于: 2020-02-12 15:31:13        🧑  作者: Mango

Java中的switch语句从JDK 7开始,我们可以使用字符串文字/常量来控制switch语句,这在C / C++中是不可能的。使用基于字符串的开关是对使用等效序列if/else语句的改进。重要事项:昂贵的操作:在执行方面,打开字符串比打开原始数据类型更昂贵。因此,最好仅在控制数据已经为字符串形式的情况下打开字符串。字符串不能为NULL:使用字符串时,请确保任何switch语句中的表达式都不为空...

  我们需要Java中的前向声明吗?

📅  最后修改于: 2020-02-12 16:26:33        🧑  作者: Mango

预测以下Java程序的输出。输出:Java程序可以编译并正常运行。注意,Test1和fun()在使用前未声明。与C++不同,我们不需要 Java中的前向声明。标识符(类和方法名称)是从源文件中自动识别的。同样,直接从库中读取库方法,无需创建带有声明的头文件。Java使用命名方案,其中程序包和公共类名称必须分别跟随目录和文件名。这种命名方案允许Java编译器定位库文件。...

  扩展Java中的原始转换

📅  最后修改于: 2020-02-14 12:28:13        🧑  作者: Mango

这是给出的一个小代码段。尝试猜测输出乍一看,我们希望可以打印出“ YOLO”。实际输出:“ YO155″。说明:当我们使用双引号时,将文本视为字符串,并打印“ YO”,但是当我们使用单引号时,字符“ L”和“ O”将转换为int。这称为扩展原始转换。转换为整数后,将数字相加(“ L”为76,“ O”为79)并打印155。现在尝试猜测以下输出:输出:YOLO说明:现在将打印“ YOLO”而不是“ Y...

  Java中的类型转换和示例

📅  最后修改于: 2020-02-14 12:39:20        🧑  作者: Mango

当您将一种数据类型的值分配给另一种数据类型时,这两种类型可能彼此不兼容。如果数据类型兼容,那么Java将自动执行称为自动类型转换的转换,如果不兼容,则需要将其显式转换,例如,将int值分配给long变量。加宽或自动类型转换当自动转换两种数据类型时,将进行加宽转换。这种情况发生在以下情况:两种数据类型兼容。当我们将较小数据类型的值分配给较大数据类型时。例如,在Java中,数字数据类型彼此兼容,但是不...

  Java注释

📅  最后修改于: 2020-02-14 12:46:39        🧑  作者: Mango

在程序中,注释通过解释所涉及的代码的目的或思想,来使程序变得更易于阅读,并且注释的正确使用使维护更加容易,并且易于发现错误。编译代码时,编译器将忽略注释。在Java中,注释分为三种:单行注释。多行注释。文档注释。单行注释初学者级程序员大多使用单行注释来描述代码功能。它是最容易输入的注释。语法:例:多行注释要在代码中描述完整的方法或在复杂的代码段中写单行注释可能会很麻烦,因为我们必须在每一行都加上“...

  Java是否支持goto

📅  最后修改于: 2020-02-14 12:50:21        🧑  作者: Mango

Java不支持goto,但是goto被保留作为关键字,以防他们想将其添加到更高版本中。与C/C++不同,Java没有goto语句,但是Java支持标签label。标签label在Java中唯一有用的地方就是嵌套循环语句之前。我们可以使用break指定标签label名称,以打破特定的外部循环。同样,可以使用continue指定标签label名称。在Java中使用带有标签label的中断输出:在Jav...

  关于Java中null的有趣事实

📅  最后修改于: 2020-02-14 12:53:44        🧑  作者: Mango

几乎所有的编程语言都会有null的绑,几乎没有程序员会为空所困扰。在Java中,null与java.lang.NullPointerException相关联。因为它是java.lang包中的类,所以当我们尝试执行一些带有或不带有null的操作时有时会调用它,有时我们甚至不知道它的源头位置。以下是每个Java程序员都应了解的有关Java中null的一些重要要点:1. null是区分大小写的:null...

  在Java中使用_(下划线)作为变量名

📅  最后修改于: 2020-02-14 12:56:08        🧑  作者: Mango

Java 9对Java语言的功能进行了更改,而从合法名称中删除下划线是甲骨文Oracle的一项重大更改:绝不鼓励在任何上下文中使用变量名_,Python却在一些时候鼓励。Java的最新版本将该名称保留为关键字,赋予其特殊的语义。如果使用下划线字符(“ _”)作为标识符,则无法再编译源代码,您将在编译时错误。在Java 8中使用下划线作为变量名尽管Java 8支持它,但是如果您使用_作为标识符,则会...

  用示例编写Java柯里化Currying函数

📅  最后修改于: 2020-02-14 13:00:04        🧑  作者: Mango

函数Currying是将具有多个参数的函数分解为具有单个参数的多个函数的概念,以使最终的输出相同。换句话说,它是一种将多值参数函数简化为单值参数多功能的技术。考虑以下概念:Currying将高阶函数分解为一系列较小的级联函数,这些函数采用一个参数并返回一个函数,最后一个级联函数除外,该函数返回所需的值。例如:设一个映射为用Currying的写法,以上函数会产生:因此g从映射u到这反过来从映射函数v...

  在Java的数字中使用下划线

📅  最后修改于: 2020-02-14 13:01:05        🧑  作者: Mango

JDK 7引入了一项新功能,该功能允许使用下划线字符编写数字,数字被打乱以增强可读性,此操作不会改变本来的数值。此功能使我们能够将数字中的数字组分开,从而提高了代码的可读性。例如,如果我们的代码包含许多数字,则可以使用下划线字符将数字以3为一组的方式分隔,类似于使用逗号或空格这样的标点符号作为分隔符的方式。以下示例显示了我们可以在数字中使用下划线的不同方式:输出:...

  Java中的二分搜索binarySearch

📅  最后修改于: 2020-02-14 13:03:19        🧑  作者: Mango

用Java进行二进制搜索有两种方法。Arrays.binarysearch():适用于也可以是原始数据类型的数组。输出:Collections.binarysearch()适用于ArrayList和LinkedList之类的对象集合。输出:如果输入未排序怎么办?如果输入列表未排序,则结果不确定。如果有重复该怎么办?如果有重复项,则不能保证将找到需求项。Collections.binarySearc...

  用Java排序

📅  最后修改于: 2020-02-14 13:07:04        🧑  作者: Mango

在Java中有两种内置的方法可以进行排序。Arrays.Sort():适用于也可以是原始数据类型的数组。输出:Collections.sort():适用于集合对象,例如ArrayList和LinkedList。输出:Java在sort()中使用哪种排序算法?以前,Java的Arrays.sort方法使用Quicksort来存储基元数组,并使用Merge sort来处理数组对象。在Java的最新版本...

  Java中的类和对象

📅  最后修改于: 2020-02-14 13:11:47        🧑  作者: Mango

类和对象是面向对象编程的基本概念,它围绕着现实生活中的实体。类类是用户定义的蓝图或原型,从中可以创建对象。它表示一种类型的所有对象共有的一组属性或方法。通常,类声明可以按顺序包括以下组件:修饰符:一个类可以是公共的,也可以具有默认访问权限。类名:名称应以首字母开头(按惯例大写)。超类(如果有):类的父类(超类)的名称(如果有的话),以关键字extends开头。一个类只能extends一个父类。接口...

  Java对象如何存储在内存中

📅  最后修改于: 2020-02-14 13:14:07        🧑  作者: Mango

在Java中,所有对象都在堆上动态分配。这与C++不同,在C++中,可以在堆栈上为对象分配内存。在C++中,当我们使用new()分配对象时,该对象分配在堆上,否则分配给堆栈(如果不是全局或静态的)。在Java中,当我们仅声明class类型的变量时,只会创建一个引用(未为该对象分配内存)。要将内存分配给对象,我们必须使用new()。因此,对象总是被分配在堆内存。例如,以下程序在编译中失败。编译器给出...