Java
小公鸡卡哇伊呀~
1232312312
展开
-
Java 关键字
如下的50个关键字是Java语言的保留字:12345abstractassertbooleanbreakbytecasecatchcharclassconstcontinue翻译 2018-09-21 13:11:26 · 229 阅读 · 0 评论 -
[Java] 字符串和数值相互转换
1. String -> Integerint intValue = Integer.parseInt(intString);2. String -> Doubledouble doubleValue = Double.parseDouble(doubleString);3. Number -> StringString s = number + ...原创 2018-09-04 16:39:43 · 1349 阅读 · 0 评论 -
[Java] Introduction to Java Programming 笔记:Chapter 3. 选择
类似下面的代码, x在声明时必须初始化,否则编译器会怀疑在输出x值时,有可能没有赋值,因为中间的if不一定100%执行。public static void main(String[] args) { double x = 0; // 必须初始化 if (true) { // .... } System.out.println(x);}调用方...原创 2018-08-31 16:29:56 · 537 阅读 · 0 评论 -
[Java] Introduction to Java Programming 笔记: Chapter 2. 基础
每个Java程序必须有一个main作为程序执行的入口。System.out指向输出,System.in指向输入, 从键盘获得输入的方法:import java.util.Scanner;Scanner input = new Scanner(System.in);double x = input.nextDouble(); // 读取一个double计算3个数的平均数的例子, ...原创 2018-08-31 15:51:33 · 389 阅读 · 0 评论 -
[Java] Introduction to Java Programming 笔记: Chapter 1. 概念
Java 的源文件名必须和公有类名一模一样Java 源文件扩展名为.java,编译后为 .class, .class由JVM执行。.class 为bytecode文件。JVM 为Interpreter。Java 的类名通常首字母大写bytecode 为低级语言,类似于机器指令,但是中立于体系结构,由JVM解释执行,即读取一行,翻译成目标机器语言代码并立即执行。Java 编译命令:java...原创 2018-08-31 15:50:21 · 221 阅读 · 0 评论 -
[Java] 什么是Applet (Java 小程序)
运行于Web浏览器之上的程序叫做applet,applet采用带有按钮、文本字段、文本区域,单选按钮等的现代图形界面,与Web上的用户进行交互并处理他们的请求。当然,applet代码放在HTML代码中。[1] Introduciton to Java Programming 10th....原创 2018-08-24 14:50:38 · 2794 阅读 · 0 评论 -
[Java] 随机返回1或0的表达式
Introduction to Java Programming 上的一道习题 3.16 Write an expression that returns 0 or 1 randomly.((int)(10 * Math.random())) % 2原创 2018-08-30 17:36:27 · 12440 阅读 · 1 评论 -
[Java] 整型和字符串类型相互转换
1. String -> Integer两种方法:Integer x = Integer.valueOf(str);// orint y = Integer.parseInt(str);There is a slight difference between these methods:valueOf returns a new or cached instance o...转载 2018-07-26 11:05:48 · 465 阅读 · 0 评论 -
[Java] 随机数
使用Math.random()函数,范围 (0, 1], double型,不需要import,可以直接使用。例如 (int) (Math.ranom() * 10)返回 0 ~ 9 的随机数,依次类推。[1] Introduction to Java Programming 10th. 3.7...原创 2018-07-26 09:23:36 · 170 阅读 · 0 评论 -
[Java] Introduction to Java Programming 笔记 Chapter 4. 数学函数等
书上是错的: Math.ceil(2.1): 3.0 Math.ceil(2.0): 2.0 Math.ceil(-2.0): -2.0 Math.ceil(-2.1): -2.0 Math.floor(2.1): 2.0 Math.floor(2.0): 2.0 Math.floor(-2.0): -2.0 Math.floor(-2.1): -3.0 Math.rint(2....原创 2018-09-04 17:01:49 · 354 阅读 · 0 评论 -
[Java] 表示无限大小整数的BigInteger和无限精度的BigDecimal
int, long,double的表数范围都有限。BigInteger可以表示任意大小整数,BigDecimal对数字的精度没有限制。BigInteger和BigDecimal的实例只能用new BigInteger(String) 和 new BigDecimal(String)创建。 对应各种运算的方法: add, subtract, multiply, divide, remainde...原创 2018-09-11 18:02:37 · 3548 阅读 · 0 评论 -
[Java] 字符串格式化
例子:String s = String.format("%7.2f%6d%-4s", 45.556, 14, "AB");System.out.println(s);负号表示左对齐, 显示:_ _ 45.56_ _ _ _ 14AB_ _, _表示空格System.out.printf(format, item1, item2, ..., itemk);等价于:Sy...原创 2018-09-12 13:26:33 · 443 阅读 · 0 评论 -
[Java] 内部类 (Inner Class)
内部类或者嵌套类(nested class) 是定义在其他类内部的类。两个独立的类:public class Test { //...}public class A { //...}A 是 Test 的内部类,类A被编译为Test$A.class。public class Test { // ... // Inner class public...翻译 2018-09-26 17:01:25 · 5150 阅读 · 0 评论 -
计算最大公约数 GCD (Greatest Common Divisor)和最小公倍数 LCM (Least Common Multiple)
文章目录1 计算 GCD方法 1方法 2方法 32 计算 LCM方法 1方法 2最大公约数GCD 也叫做Greatest Common Factor (最大公因数).以下是Java code,说成C++也没差。1 计算 GCD方法 1public static int gcd(int n1, int n2) { int gcd = 1; // Initial gcd is 1...原创 2018-09-20 15:56:36 · 748 阅读 · 0 评论 -
[Java] 从控制台读取字符和字符串
import java.util.Scanner;Scanner input = new Scanner(System.in);读取字符串String str = input.next();读取字符String s = input.nextLine();char ch = s.charAt(0);Introduction to Java Programming 10.th e...原创 2018-09-18 15:42:54 · 7742 阅读 · 0 评论 -
[Java] 将 boolean 转换为 int
int myInt = myBoolean ? 1 : 0;https://stackoverflow.com/questions/3793650/convert-boolean-to-int-in-java转载 2018-09-07 16:01:32 · 19552 阅读 · 1 评论 -
[Java] Introduction to Java Programming 笔记 Chapter 9. 对象和类
Introduction to Java Programming 10th.原创 2018-09-10 17:43:21 · 271 阅读 · 0 评论 -
[Java] 类 Object 的 equals 方法
类Object是所有Java类的基类,Object类含有一个方法equals,默认实现是:public boolean equals(Object obj) { return (this == obj);}默认比较两个引用变量是否指向同一个对象。 用户自定义类应该重写这个方法,以比较两个不同对象的内容是否相同。很多Java 类都重写了这个equals方法,例如java.la...原创 2018-09-17 17:53:07 · 834 阅读 · 0 评论 -
[Java] Introduction to Java Programming 笔记 Chapter 10. 面向对象
rtert原创 2018-09-12 16:40:02 · 311 阅读 · 0 评论 -
[Java] String, StringBuilder 和 StringBuffer 的区别
String 对象是不可变的, StringBuilder 对象和 StringBuffer 对象可变。 StringBuilder 比 StringBuffer 效率更高, 但 StringBuffer 提供线程同步,也就是说,如果多个线程并发访问同一个字符串,即并发调用其方法,应使用StringBuffer。 StringBuilder 有3个构造函数和30多个方法,StringBuide...原创 2018-09-12 14:07:48 · 152 阅读 · 0 评论 -
[Java] 数据类型
Name Range Storage Size byte -27 to 27 - 1 (-128 to 127) 8-bit signed short -215 to 215 - 1 (-32768 to 32767) 16-bit signed int -231 to 231 - 1 (-2147483648 to 21474836...原创 2018-07-25 13:58:08 · 159 阅读 · 0 评论 -
[Java] 多维数组
类似于一维数组,二维数组声明定义初始化示例:int[][] arr = int[5][5];然后可以对数组进行赋值。 不同于C++,Java存在不规则数组(ragged arrays),即每行的列数可以不等。int[][] triangleArray = { {1, 2, 3, 4, 5}, {2, 3, 4, 5}, {3, 4, 5}, {4, 5...原创 2018-07-24 16:38:10 · 901 阅读 · 0 评论 -
Java 传递参数的方式:值传递
[1]https://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value原创 2018-05-30 17:52:22 · 306 阅读 · 0 评论 -
[Java] 抽象类和接口
1 介绍超类定义了相关子类的共同行为,而一个接口可以用来定义多个类(包括不相关的类)的共同行为。你可以使用java.util.Arrays.sort方法对一组数字或一组字符串进行排序,但是你能用同样的sort方法对一组几何对象进行排序吗?为了写出这样的代码, 你必须了解接口。接口可以用来定义多个类 (包括不相关的类) 的共同行为。在讨论接口之前,我们介绍一个紧密相关的主题:抽象类。...翻译 2018-06-13 11:31:51 · 577 阅读 · 0 评论 -
[Java] 一维数组
数组的声明和创建语法为: elementType[] arrayRefVar; 例如: int[] myList; 写成与C/C++兼容的形式int myList[]也是可以的, 但在Java里,int[] myList;是首选。// 声明数组变量 myList, 创建数组,并将数组引用赋给变量double[] myList = new double[10]; [1] I...原创 2018-05-29 17:55:32 · 421 阅读 · 0 评论 -
[Java] 对象和类
1 定义类,创建对象2 构造函数3 使用引用变量访问对象4 使用Java库中的类5 静态变量、常量和方法6 可见性修饰符7 数据域封装8 传递对象给方法9 由对象构成的数组10 不可变的对象和类11 变量作用域12 this引用[1] Introduction to java Programming 10t...原创 2018-06-11 17:38:45 · 218 阅读 · 0 评论 -
[Java] 交换函数
Java中传递变量的方式为值传递。Stackoverflow 上的答案:目的想要实现类似于C的函数:void swap(int *p, int *q){ int temp; temp = *p; *p = *q; *q = temp;}但是,Java没有指针,无法直接实现交换功能,只能试用一些间接的方法实现交换目的。方法:1. 最接近sw...原创 2018-06-11 16:22:46 · 6130 阅读 · 0 评论 -
[Java] 检查异常和非检查异常(checked exception and unchecked exception)
Throwable类是所有异常的根类,RuntimeException, Error以及它们所有的子类都叫非检查异常,剩下的都是检查异常。对于检查异常,例如ClassNotFoundException,IOException等,编译器会强制要求用try-catch进行处理,或在方法头中进行声明。而对于非检查异常如:RuntimeException及其子类NullPointerExcepti...原创 2018-06-13 15:48:05 · 263 阅读 · 0 评论 -
[Java] 异常
异常处理概述异常类型finally语句块何时使用异常重新抛出异常链接异常定义自定义的异常类[1]Introduction to Java Programming 10th. Chapter 12....翻译 2018-06-21 16:11:48 · 191 阅读 · 0 评论 -
[Java] 方法签名(method signature)
方法头指定修饰符(例如static)、返回值类型、方法名、和形式参数。方法头中定义的变量称为形参 (形式参数,formal parameter 或 parameter),形参如同占位符。当方法被调用时,传递一个值给形参,此值称为实参(实际参数, actual parameter 或 argument),形参列表指的是形参的类型、顺序和形参的数目。方法名和形参列表共同组成方法签名。原...原创 2018-05-31 17:10:16 · 33313 阅读 · 1 评论 -
[Java] 泛型
静态方法可以定义泛型类型。对象数组排序:public class GenericSort { public static <E extends Comparable<E>> void sort(E[] list) { E currentMin;翻译 2018-07-17 14:08:30 · 170 阅读 · 0 评论 -
[Java] 自动装箱和自动拆箱(autoboxing and autounboxing)
[1] Introduction to Java Programming chapter 11.11原创 2018-07-09 18:01:22 · 201 阅读 · 0 评论 -
[Java] 集合 (set)
[1] Introduction to Java Programming 10th. edition Chapter 21.原创 2018-07-09 17:33:58 · 310 阅读 · 0 评论 -
[Java] 映射 (Map)
[1] Introduction to Java Programming 10th. edition Chapter 21.原创 2018-07-09 16:32:47 · 613 阅读 · 0 评论 -
[Java] ArrayList 类
java.util.ArrayList<E>从书中各种代码来看,java.util.ArrayList<E> 是非常重要的一个类,在代码中广泛使用,E表示泛型,ArrayList是一个泛型类。 ArrayList相当于C++ 的vector,用于存储对象。与数组不同,数组一旦创建,长原创 2018-06-27 15:42:19 · 84528 阅读 · 2 评论 -
[Java] 反射及其作用
Answer 1The name reflection is used to describe code which is able to inspect other code in the same system (or itself).For example, say you have an object of an unknown type in Java, and you woul...转载 2018-06-26 11:58:25 · 296 阅读 · 0 评论 -
[Java] 网络爬虫(Web Crawler)
[1] Introduction to Java Programming chapter 12.13原创 2018-06-24 21:53:53 · 1212 阅读 · 0 评论 -
[Java] 文本输入输出 (Text I/O)
File 类文件输入和输出从web读取数据网络爬虫 Web CrawlerFile 类文件输入和输出从web读取数据网络爬虫 Web Crawler[1] Introduction to Java Programming 10th. Chapter 12. Exception Handling and Text I/O...原创 2018-06-22 11:35:00 · 1234 阅读 · 0 评论 -
[Java] 多线程和并行编程
目录1 线程概念2 创建任务和线程3 Thread 类4 例子:闪烁的文字5 线程池6 线程同步6.1 使用synchronized关键字6.2 Synchronizing Statement (同步语句)7 使用锁进行同步8 线程之间的合作9 例子:生产者/消费者10 阻塞队列11 信号量12 避免死锁13 线程状态...翻译 2018-05-11 09:59:40 · 12880 阅读 · 3 评论