Java教程 第9页

Java 布尔类型-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 布尔类型

Java教程 – Java布尔类型 Java对逻辑值有一个布尔类型。这是所有关系运算符返回的类型。 值 它只能有两个可能的值之一, true 或 false 。 字面值 布尔字面值只有两个逻辑值: true 和 false 。 true 和 false 的值不转换为任何数字表示。 Java中的 true 字面值不等于1,false字面值也不等于0.在Java中,它们只能分配给声明为boolean的变量。 布尔类 布尔类在对象中封装了一个基本类型布尔值。 Boolean 类型的对象包含一个类型为 Boolean 的单个字段。 布尔类具有将布尔值转换为 String 和 String 转换为布尔值的方法。 例子 这里是一个程序,演示布尔类型: public class Main { public static void main(String args[]) { boolean boolVariable; boolVariable = false; System.out.println("b is " + boolVariable); boolVariable = true; System.out.println("b is " + boolVariable); } } 输出: 例2 Java 中的 true 字面值不等于 1 ,false 字面值也不等于 0 。在 Java 中,它们只能被分配给声明为 boolean 的变量。 public class Main { public static void main(String[] argv) { boolean b = true; int i = b; } } 如果尝试编译程序,编译器将生成以下错误消息。

Java 算术运算符-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 算术运算符

Java教程 – Java算术运算符 在数学表达式中使用算术运算符。 所有算术运算符 下表列出了算术运算符: 运算符 结果 + 加法 – 减法 * 乘法 / 除法 % 余数 ++ 自增 += 加法分配 -= 减法分配 *= 乘法分配 /= 除法分配 %= 模量分配 — 自减 算术运算符的操作数必须是数字类型。您不能在 boolean 类型上使用算术运算符,但可以在 char 类型上使用它们。 基本算术运算是加法,减法,乘法和除法。他们的行为正如你所期望的。减运算符也有一个一元形式,它取消它的单个操作数。 下面的快速演示显示了如何在Java中进行简单的计算基本算术运算符。 public class Main { public static void main(String args[]) { System.out.println("Integer Arithmetic"); int a = 1 + 1; int b = a * 3; int c = b / 4; int d = c - a; int e = -d; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println("e = " + e); int x = 42; System.out.println("x mod 10 = " + x % 10); double y =...

JavaFX 折线图-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

JavaFX 折线图

JavaFX教程 – JavaFX折线图 折线图,一种双轴图表,显示了特定时间间隔内数据的动态。 对于双轴图表,我们可以定义一系列数据XYChart.Series类。 我们可以为每个系列分配一个名称,以便在图例中显示。 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage stage) { final NumberAxis xAxis = new NumberAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Number of Month"); final LineChart<Number, Number> lineChart = new LineChart<Number, Number>( xAxis, yAxis); lineChart.setTitle("Line Chart"); XYChart.Series<Number, Number> series = new XYChart.Series<Number, Number>(); series.setName("My Data"); // populating the series with data series.getData().add(new XYChart.Data<Number, Number>(1, 23)); series.getData().add(new XYChart.Data<Number, Number>(2, 114)); series.getData().add(new XYChart.Data<Number, Number>(3, 15)); series.getData().add(new XYChart.Data<Number, Number>(4, 124)); Scene scene = new Scene(lineChart, 800, 600); lineChart.getData().add(series); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } 上面的代码生成以下结果。 折线图创建 对于每个图表,我们可以设置标题及其相对于图表的位置。标题可以位于图表的顶部,右侧,左侧或底部。 我们可以以相同的方式指定图表图例的位置。 import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene;...

Java 数据结构

Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。 枚举(Enumeration) 枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广。 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。 例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。 关于枚举接口的更多信息,请参见枚举(Enumeration)。 位集合(BitSet) 位集合类实现了一组可以单独设置和清除的位或标志。 该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一”位”,然后对位进行适当的设置或清除,就可以对布尔值进行操作了。 关于该类的更多信息,请参见位集合(BitSet)。 向量(Vector) 向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。 和数组一样,Vector对象的元素也能通过索引访问。 使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。 关于该类的更多信息,请参见向量(Vector) 栈(Stack) 栈(Stack)实现了一个后进先出(LIFO)的数据结构。 你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。 当你从栈中取元素的时候,就从栈顶取一个元素。换句话说,最后进栈的元素最先被取出。 关于该类的更多信息,请参见栈(Stack)。 字典(Dictionary) 字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构。 当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary。 由于Dictionary类是抽象类,所以它只提供了键映射到值的数据结构,而没有提供特定的实现。 关于该类的更多信息,请参见字典( Dictionary)。 哈希表(Hashtable) Hashtable类提供了一种在用户定义键结构的基础上来组织数据的手段。 例如,在地址列表的哈希表中,你可以根据邮政编码作为键来存储和排序数据,而不是通过人的名字。 哈希表键的具体含义完全取决于哈希表的使用情景和它包含的数据。 关于该类的更多信息,请参见哈希表(HashTable)。 属性(Properties) Properties 继承于 Hashtable.Properties 类表示了一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。 Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。 关于该类的更多信息,请参见属性(Properties)。

Java 多态

本章主要为大家介绍java多态的概念,以及便于理解的多态简单例子。 Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性是对象多种表现形式的体现。 比如我们说”宠物”这个对象,它就有很多不同的表达或实现,比如有小猫、小狗、蜥蜴等等。那么我到宠物店说”请给我一只宠物”,服务员给我小猫、小狗或者蜥蜴都可以,我们就说”宠物”这个对象就具备多态性。 接下来让我们通过实例来了解Java的多态。 简单的例子 public interface Vegetarian{} public class Animal{} public class Deer extends Animal implements Vegetarian{} 因为Deer类具有多重继承,所以它具有多态性。以上实例解析如下: 一个 Deer IS-A(是一个) Animal 一个 Deer IS-A(是一个) Vegetarian 一个 Deer IS-A(是一个) Deer 一个 Deer IS-A(是一个)Object 在Java中,所有的对象都具有多态性,因为任何对象都能通过IS-A测试的类型和Object类。 访问一个对象的唯一方法就是通过引用型变量。 引用型变量只能有一种类型,一旦被声明,引用型变量的类型就不能被改变了。 引用型变量不仅能够被重置为其他对象,前提是这些对象没有被声明为final。还可以引用和它类型相同的或者相兼容的对象。它可以声明为类类型或者接口类型。 当我们将引用型变量应用于Deer对象的引用时,下面的声明是合法的: Deer d = new Deer(); Animal a = d; Vegetarian v = d; Object o = d; 所有的引用型变量d,a,v,o都指向堆中相同的Deer对象。 虚方法 我们将介绍在Java中,当设计类时,被重写的方法的行为怎样影响多态性。 我们已经讨论了方法的重写,也就是子类能够重写父类的方法。 当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。 要想调用父类中被重写的方法,则必须使用关键字super。 /* 文件名 : Employee.java */ public class Employee { private String name; private String address; private int number; public Employee(String name, String address, int number) { System.out.println("Constructing an Employee"); this.name = name; this.address = address; this.number = number; } public void mailCheck() { System.out.println("Mailing a check to " + this.name + " " + this.address);...

Java valueOf() 方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java valueOf() 方法

Java valueOf() 方法 Java String类 valueOf() 方法有以下几种不同形式: valueOf(boolean b): 返回 boolean 参数的字符串表示形式。 valueOf(char c): 返回 char 参数的字符串表示形式。 valueOf(char[] data): 返回 char 数组参数的字符串表示形式。 valueOf(char[] data, int offset, int count): 返回 char 数组参数的特定子数组的字符串表示形式。 valueOf(double d): 返回 double 参数的字符串表示形式。 valueOf(float f): 返回 float 参数的字符串表示形式。 valueOf(int i): 返回 int 参数的字符串表示形式。 valueOf(long l): 返回 long 参数的字符串表示形式。 valueOf(Object obj): 返回 Object 参数的字符串表示形式。 语法 static String valueOf(boolean b) 或 static String valueOf(char c) 或 static String valueOf(char[] data) 或 static String valueOf(char[] data, int offset, int count) 或 static String valueOf(double d) 或 static String valueOf(float f) 或 static String valueOf(int i) 或 static String valueOf(long l) 或 static String valueOf(Object obj) 参数 指定类型参数。 返回值 删除头尾空白符的字符串。 实例 public class Test { public static void main(String args[]) {...

Java regionMatches() 方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java regionMatches() 方法

Java regionMatches() 方法 Java String类 regionMatches() 方法用于检测两个字符串在一个区域内是否相等。 语法 public boolean regionMatches(int toffset, String other, int ooffset, int len) 或 public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 参数 ignoreCase — 如果为 true,则比较字符时忽略大小写。 toffset — 此字符串中子区域的起始偏移量。 other — 字符串参数。 ooffset — 字符串参数中子区域的起始偏移量。 len — 要比较的字符数。 返回值 如果字符串的指定子区域匹配字符串参数的指定子区域,则返回 true;否则返回 false。是否完全匹配或考虑大小写取决于 ignoreCase 参数。 实例 public class Test { public static void main(String args[]) { String Str1 = new String("www.w3cschool.cn"); String Str2 = new String("w3cschool"); String Str3 = new String("W3Cschool"); System.out.println("value:"); System.out.println(Str1.regionMatches(4, Str2, 0, 5)); System.out.println("value:"); System.out.println(Str1.regionMatches(4, Str3, 0, 5)); System.out.println("value:"); System.out.println(Str1.regionMatches(true, 4, Str3, 0, 5)); } } 以上程序执行结果为: value: true value: false value: true Java String类

Java 三元运算符-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 三元运算符

Java教程 – Java三元运算符 ?运算符是三元运算符。 Java三元运算符基本上是简单的if语句的简写形式。 语法 ?具有以下一般形式: expression1 ? expression2 : expression3 expression1 可以是计算为 boolean 值的任何表达式。如果 expression1 是 true ,那么将评估 expression2 。否则,将评估 expression3 。 计算的表达式是?操作的结果。需要 expression2 和 expression3 来返回相同的类型,这可以是无效的。 下面是?运算符的示例: public class Main { public static void main(String[] argv) { int denom = 10; int num = 4; double ratio; ratio = denom == 0 ? 0 : num / denom; System.out.println("ratio = " + ratio); } } 输出: 例子 这是另一个演示?运算符的程序。它使用它来获取变量的绝对值。 public class Main { public static void main(String args[]) { int i, k; i = 10; k = i < 0 ? -i : i; System.out.print("Absolute value of "); System.out.println(i + " is " + k); i = -10; k = i < 0 ? -i : i; System.out.print("Absolute...

Java MVC模式-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java MVC模式

Java设计模式 – MVC模式 MVC 模式表示模型 – 视图 – 控制器模式。 从名称我们可以看到,MVC模式涉及三个部分: Model(模型)– 模型表示携带数据的对象。它也可以具有逻辑来更新控制器,如果其数据改变。 View(视图)– 视图表示模型包含的数据的可视化。通常它有UI逻辑。 Controller(控制器) – 控制器引用模型和视图。它控制数据流进入模型对象,并在数据更改时更新视图。它保持视图和模型分开。 例子 class Employee { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } class EmployeeView { public void printEmployeeDetails(String name, String no) { System.out.println("Employee: "); System.out.println("Name: " + name); System.out.println("ID: " + no); } } class EmployeeController { private Employee model; private EmployeeView view; public EmployeeController(Employee model, EmployeeView view) { this.model = model; this.view = view; } public void setEmployeeName(String name) { model.setName(name); } public String getEmployeeName() { return model.getName(); } public void...

Java 日期时间方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 日期时间方法

Java日期时间方法 在 Java Date-Time API 中的方法名称尽可能在类之间保持一致。 例如, now 方法返回当前时刻的日期或时间值。from方法允许从一个类转换到另一个类。 下表列出了常用的前缀: of 静态工厂方法 工厂方法创建一个实例并验证输入参数 from 静态工厂方法将输入参数转换为目标类的实例。 parse 静态工厂方法 解析输入字符串以创建目标类的实例。 format 实例方法 格式化临时对象以产生字符串。 get 实例方法 返回目标对象的一部分。 is 实例方法 查询目标对象。 with 实例方法 返回一个元素已更改的目标对象的副本。 plus 实例方法 返回具有添加的时间量的对象的副本。 minus 实例方法 返回具有减去时间量的对象的副本。 to 实例方法 将此对象转换为另一种类型。 at 实例方法 将此对象与另一个对象组合。 of()方法 Java 日期时间 API 的 XXX()方法用于创建对象。 以下代码显示了如何创建 LocalDate 类的对象: import java.time.LocalDate; import java.time.Month; public class Main { public static void main(String[] args) { LocalDate localDate1 = LocalDate.of(2014, 5, 21); System.out.println(localDate1); LocalDate localDate2 = LocalDate.of(2014, Month.MARCH, 4); System.out.println(localDate2); LocalDate localDate3 = LocalDate.ofEpochDay(2014); System.out.println(localDate3); LocalDate localDate4 = LocalDate.ofYearDay(2014, 39); System.out.println(localDate4); } } 上面的代码生成以下结果。 from()方法 from()是一个静态工厂方法,用于从指定的参数派生 datetime 对象。 与 of()不同, from()需要对指定参数进行数据转换。 以下代码显示如何从 LocalDateTime 派生 LocalDate: import java.time.LocalDate; import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime localDateTime...