最基本的操作为赋值操作,= 即赋值操作符 基本的算术操作为加.减.乘.除取模.除取余数,其对应操作符为 +.-.*./.% 算术操作与赋值操作联合衍生为:+=:-=:*=:/=:%=: 由于处理器硬件的不同,浮点数在进行除法时会出现结果不一致的情况,为了解决此情况,在方法前加 strictfp 关键字,可以使此方法的严格进行浮点除操作,从而产生理想的结果. 例如: public static strictfp void main(String[] args) 3.5.1 数学函数操作与数学常量…
数组是存储同一类型数据的数据结构 数组的声明与初始化 int[] a; int a[]; int[] a = new int[100]; int[] a = new int[100]; for (int i = 0; i < 100; i++) a[i] = i; // fills the array with numbers 0 to 99 一旦创建就不可改变其大小 3.10.1 for each 循环 for each循环可以用来为数组赋值 for (variable : collectio…
如果基本的整型与浮点型不能满足需求,可以使用java.Math包提供的 BigInteger 和 BigDecimal 两个类,这两个类可以存储任意长度的数, BigInteger 实现的任意精度整数的计算,BigDecimal 实现了任意进度浮点数的计算. 使用valueOf方法可以将任意数装换为大数值. BigInteger a = BigInteger.valueOf(100); 在计算时不能使用常见的数学操作符+,-,*,/ 而要使用该类的方法.如: BigDecimal add(Big…
通过使用条件语句.循环语句可以实现流程的控制. 3.8.1 块作用域(Block Scope) 块(Block)就是由一对花括号包围起来的部分.他指定了一个变量的生存范围,与一个方法的操作范围. Java中不允许在嵌套块中重复定义变量. 3.8.2 条件语句 if (condition) statement { statement 1 statement 2 . . . } if (yourSales >= target) { performance = "Satisfactory&quo…
3.7.1 读取输入 Scanner in = new Scanner(System.in); System.out.print("What is your name? "); String name = in.nextLine(); System.in 是个输入源,Scanner(java.util.Scanner)是输入的处理器.System.out既是输出源,又是输出处理器. Scanner类的常用方法如下: String name = in.nextLine(); 遇到换行符结…
String类(java.lang.String)就是Unicode字符序列,例如:"Java\u2122" 3.6.1 Substring 提取子串 String greeting = "Hello"; String s = greeting.substring(0, 3); s结果为"Hel" 3.6.2 字符串拼接 int age = 13; String rating = "PG" + age; rating 结果为…
1.在Java中,每一个变量都必须有一个类型,在变量声明是,类型必须在变量名之前.示例如下: double salary; int vacationDays; long earthPopulation; boolean done; 每个声明必须以分号结束,声明是一个完整的语句,在java中每个完整的语句必须以分号结束. 2.变量命名规则 变量名必须以字母开头,以字母与数字组成,Java中的字母指的是Unicode字符. 不可使用保留字. 大小写敏感. 规范 可以一行声明多个变量,但不推荐,可读性…
3.3 数据类型 这里所说的数据类型是指 Java的8中基本数据类型,是原生就存在的. 不同进制数的字面值表示方法 进制 字面值表示方法 例子 是否默认 JDK版本支持 2进制 0b或0B前缀(每4位可用_分隔) 0b1001,0b1111_0100_0010   Java SE 7开始 8进制 0前缀 010     10进制   010 √   16进制 0x或0X前缀 0xCAFE     Java中没有unsigned 类型的数 在Java中谈默认值是没有意义的,一个数据的默认值只有在声…
3.2 注释 1. //形式注释 System.out.println("We will not use 'Hello, World!'"); // is this too cute? 1.以//开始,以换行符结束 2.用于单行注释 2. /*   */形式注释 1.以/*开始 以*/结束 2.用于多行注释 3.不可嵌套使用 3./**   */形式注释 /** * This is the first sample program in Core Java Chapter 3 * @v…
3.1Java最简程序 FirstSample.java public class FirstSample { public static void main(String[] args) { System.out.println("We will not use 'Hello, World!'"); } } 1.Java的类名命名规则 1.1 以字母开头 1.2 是字母(广义的unicode字母)和数字的组合 1.3 没有长度限制 1.4 不能使用Java保留字 2.Java的类名命…
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以及循环)在Java中的实现方式. 3.1 一个简单的Java应用程序 Java对大小写敏感. Java定义类名规则:名字必须以字母开头,后面可以跟字母和数字的任意组合.长度基本上没有限制.但是不能使用Java保留字作为类名. 标准的命名规则为:类名是以大写字母开头的名词.如果名字由多个单词组成,每个…
目录 前言 1. Java 网络编程 1.1 Javs NIO 基本介绍 1.2 缓冲区 Buffer 1.2 通道 Channel 1.3 选择器 Selector 1.4 NIO 非阻塞网络编程原理分析 2. 线程模型概述 2.1 传统阻塞 IO 服务模型 2.2 Reactor 模式 2.3 单 Reactor 单线程模式 2.4 单 Reactor 多线程模式 2.5 主从 Reactor 多线程模式 2.6 Netty 模型 最后 前言 参考资料: <Netty In Action>…
一个简单的 Java 应用程序 访问修饰符 public,private,protected main 方法必须时public修饰的,C#则不必须 数据类型 可以用16进制表示浮点数 可以用2,8,16进制表示整数 Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY,DOUBLE.NaN 分别表示正无穷,负无穷,不是数值; if(x==Double.NaN) 永不成立,可以使用Double.isNaN(x)判断 强烈建议不要在程序中使用char,除…
1.Java基本数据类型 Java中一共有8种基本数据类型. 4种整形:int-4字节.long-8字节.short-2字节.byte-1字节 2中浮点型:float-4字节.double-8字节 1中字符型:char 1中布尔型:boolean 1.1一般的程序中使用浮点型数是都采用double,很少使用float,float 4字节,范围在正负20亿,像微信支付日均6亿笔,4天就超出float的范围了. 1.2我们强烈建议不要在程序中使用char类型,最好将字符串作为抽象类型处理. 2.变量…
byte和short类型主要用于特定的应用场合,例如,底层的文件处理或者需要控制占用存储空间量的大数组. 十六进制数值有一个前缀0x(如0xCAFE),八进制有一个前缀0,如010对应八进制中的8.很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数. 从Java7开始,加上前缀0b就可以写二进制数.例如0b1001就是9.同样从Java7开始,还可以为数字字面量加下划线,如用1_000_000(或0b1111_0100_0010_0100_0000)表示一百万,这些下划线只是为了让…
3.运算符 浅谈java中源码常见的几个关键字(native,strictfp,transient,volatile) 需要注意 , 整数被 0 除将会产生一个异常, 而浮点数被0 除将会得到无穷大或 NaN 结果 . 在 Math 类中 , 为了达到最快的性能 , 所有的方法都使用计算机浮点单元中的例程..如果得到一个完全可预测的结果比运行速度更重要的话, 那么就应该使用StrictMath类…
第三章 Java的基本程序设计结构 第一部分 理论知识学习部分 一 基本知识: 1.标识符:由字母.下划线,美元符号和数字组成,第一个符号不能为数字,可以用作类名.变量名.方法名.数组名和文件名等. 2.关键字:Java语言中已经被赋予特定意义的一些单词,关键字不能作为变量名. 3.注释:①//②/*和/*③/**开始,*/结束 二 数据类型: 整数类型(int. short. long. byte)浮点类型(float. double )字符类型(char)浮点类型(float double)…
第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二,既然是生产者.消费者,那么生产者类和消费者类就是必须的 * 第三,生产什么,消费什么,所以物品类是必须的,这里是馒头类 * 第四,既然是线程,那么就不是一对一的,也就是说不是生产一个消费一个,既然这样,多生产的往哪里放 * 现实中就是筐了,在计算机中也就是数据结构,筐在数据结构中最形象的就是栈了,因…
1.什么是继承 子类继承父类就是对父类的扩展,继承时会自动拥有父类所拥有的处private之外的所有成员作用:增加代码复用语法格式: class 子类名 extends 父类名{…………}第9章 Java类的三大特性之一:继承例子: //测试类,创建子类对象,可以直接调用属性和方法 public class testDog { public static void main(String[] args) { Dog dog = new Dog(); dog.age=10; dog.name="旺…
第4章 Java接收用户输入 1.输入 使用Scanner工具类可以换取用户输入的数据Scanner类位于java.util包中,使用时需要导入此包使用步骤: 1.导入java.util.Scanner类 例:import java.util.Scanner 2.创建Scanner对象 例:Scanner input=new Scanner(System.in); 3.接收并保存用户输入值 例:int score=input.nextInt(); input之后可以选择很多方法,注意使用 一般是…
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括:变量.语法.面向对象,API,JVM等等再Java SE基础之上分为两个部分.一个是开发企业级的服务,一个是嵌入式的开发Java EE是企业级的开发,主要包括:JSP.EJB.服务等等.Java ME是嵌入式的开发,主要有移动设备,游戏,通信等初学的基本路线都是从Java SE出发,先学基础,再学方…
I/O基础入门 Java的I/O演进 第一章 Java的I/O演进之路 1.1 I/O基础入门 1.1.1 Linux网络I/O模型简介 根据UNIX网络编程对I/O模型的分类,UNIX提供了5中I/O模型,分别如下. (1)阻塞I/O模型: (2)非阻塞I/O模型: (3)I/O复用模型: (4)信号驱动I/O模型: (5)异步I/O: 1.1.2 I/O多路复用技术 I/O多路复用的主要应用场景: 服务器需要同时处理多个处于监听状态或者多个连接状态的套接字: 服务器需要同时处理多种网络协议的…
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do double else extends assert final finally float for goto if implements import instanceof int interface long native new strictfp package private protect…
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了基础) 1.3 体系机构 Java体系结构中的四个技术: Java程序设计语言 Java class文件格式 Java应用编程接口API Java虚拟机 Java虚拟机和Java API一起组成了Java平台 1.3.1 Java虚拟机 Java面向网络的核心是Java虚拟机:平台无关性.安全性和网…
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一章  JAVA简介   时间:2017年4月24日10:23:32 章节:01章_02节 内容:jdk的配置与安装 完成情况:已经完成,cmd中javac提示出相关命令   时间:2017年4月24日10:30:39 章节:01章_04节 内容:输出HelloWorld 完成情况: 已经完成 jav…
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库  如果想要有奇特的绘图功能,网络连接功能和数据库存取功能无需自己动手编写代码 功能齐全的出色语言 高质量的执行环境,提供庞大的库.集多种优势于一身 注:  白皮书:www.oracle.com/technetwork/java/langenv-140151.html  11个关键术语的论述:http://horstma…
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userg…
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,兼容…
第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List.和Map三种体系,其中Set代表无序.不可重复的集合;List代表有序.重复的集合;Map代表具有映射关系的集合. (3)集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类. (4)集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合里只能…
2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任. 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内容泄漏和内存溢出错误,看起来由JVM管理内存一切都很美好.不过,也正是因为Java程序员把内存控制的权力交给了JVM,一旦出现泄漏和溢出,如果不了解JVM是怎样使用内存的,那排查错误将会是一件非常困难…