if 选择结构: if(条件){       代码块  //条件成立后要执行的代码.可以是一条语句,也可以是一组语句 } 可以处理单一或组合条件的情况. if-else 选择结构: if(条件){       代码块1 }else{       代码块2 } 可以处理简单的条件分支情况. 多重if选择结构: if(条件1){   代码1 }else  if(条件2){   代码2 }else{   代码3 } 可以处理连续区间的条件分支情况. 嵌套if选择结构: if(条件1){        …
第三章   选择结构 if基本语法: if(条件){// 表达式 // 代码块 } eg: int a = 10; if(a > 1){ System.out.println("内容"); } if(){ // 代码块}else{ // 代码块}eg:if(score >= 90){ System.out.println("奖励Mp4一个");}else{ System.out.println("枪毙");} 语法:if(条件){ /…
1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本 2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文本. 3)文档注释用/** */表示,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档. 1)单行注释. // 注释的内容 2)多行注释. /* 注释的内容 */ 3)文档注释. /** 注释的内容 */ 2.java常见的…
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分,张浩就能获得一个 MP4 作为奖励 使用 if 选择结构 可以解决 . if 选择结构是根据条件判断之后 再做处理 语法: 基本的 if 选择结构 if (条件){//代码块 // 结果必须是boolean 类型 } // 只有一条语句时,建议不省略 结合问题: if (张浩的 java 考试成绩>…
  1.编译Java Applet源程序文件产生的字节码文件的扩展名为() A:.java B..class C:Html D:Exe 正确答案:B 试题分析: 本题考查的是Java程序的开发过程.Java程序开发需要经过三个步骤:编写(.java).编译(.class).运行. 编写的源程序为.java后缀的,编译后为.class的字节码文件,因此,     2,.以下对JDK的安装与配置描述错误的是() A:JDK安装和配置成功后,可以通过java-version命令查看JDK版本 B.在W…
1.以下关于开发java程序的描述错误的是 (). (选择一项) A:开发Java程序的步骤包括:编写源程序.编译.运行 B:编写的Java源程序文件使用 java作为扩展名 C:Java源文件经编译后,生成后缀为.class的字节码运行 D:使用java命令可以编译.java文件 ——————————————————————————————— 正确答案是D        D答案是使用javac命令才可以编译.java文件,通过java命令运行.calss文件.因此正确的答案选择D 2.在Jav…
数据类型 说明 举例 int 整型 用于存储整数.例如.学员人数.某公司的员工编号.一年的天数.一天的小时数 double 双精度浮点型 用于存储带有小数的数字.例如商品的价格.世界的价格.世界银行给其他国家(地区)的贷款金额.员工工资 char 字符型 用于存储单个字符.例如男,女,成绩:优或差 String 字符串型 用于存储一串字符,例如员工姓名,产品型号,产品的介绍信息 一.数据类型 1.数据类型  变量名:(语法如下) double score:           //声明双精度浮点…
第三章 选择 3.8 计算身体质量指数 package com.chapter3; import java.util.Scanner; public class ComputeAndInterpretBMI { /** *计算身体质量指数 *BMI *BMI<18.5 偏瘦 *18.5<=BMI<25.0 正常 *25.0<=BMI<30.0 超重 *30.<=BMI 过胖 */ public static void main(String[] args) { Scan…
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制语句分类: 顺序结构 选择结构:if语句.switch语句 循环结构:while语句.for语句 一.顺序结构: 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的. 总的来说:写在前…
第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 switch 选择结构解决问题. 为什么使用 switch 选择结构 使用多重if选择结构实现 --> 缺点:结构复杂,啰嗦 使用switch选择结构解决 --> 特点:条件为等值判断 什么是 switch 选择 结构 switch 选择结构 switch (表达式){ //整型或字符型 case //…
第4章 选择结构程序设计 C语言有两种选择语句: if 语句,实现两个分支的选择结构 switch 语句,实现多分支的选择结构 输入3个数a,b,c,要求按由小到大的顺序输出. 可以先用伪代码写出算法: if a>b,a和b对换 (a是a.b中的小者) if a>c,a和c对换 (a是三者中最小者) if b>c,b和c对换 (b是三者中次小者) 顺序输出a,b,c #include <stdio.h> int main() { float a,b,c,t; scanf(&q…
第一节等待/通知机制 1.1不使用等待/通知机制实现线程间的通讯 1.2什么是等待/通知机制 1.3等待/通知机制的实现 1.4方法wait()锁释放与notify()锁不释放 1.5当interrupt()遇到wait()方法 1.6只通知一个线程 1.7唤醒所有线程 1.8方法wait(long)的使用 1.9通知过早 1.10等待wait的条件发生变化 1.11生产者/消费者模式实现 1.12通过管道进行线程间通信:字节流 1.13通过管道进行线程间通信:字符流 1.14实战:等待/通知之…
第一节等待/通知机制 1.1不使用等待/通知机制实现线程间的通讯 1.2什么是等待/通知机制 1.3等待/通知机制的实现 1.4方法wait()锁释放与notify()锁不释放 1.5当interrupt()遇到wait()方法 1.6只通知一个线程 1.7唤醒所有线程 1.8方法wait(long)的使用 1.9通知过早 1.10等待wait的条件发生变化 1.11生产者/消费者模式实现 1.12通过管道进行线程间通信:字节流 1.13通过管道进行线程间通信:字符流 1.14实战:等待/通知之…
为什么需要安全性 Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术.Java安全模型侧重于保护终端用户免受从网络下载的.来自不可靠来源的.恶意程序(以及善于程序中的bug)的侵犯.为了达到这个目的,Java提供了一个用户可配置的“沙箱”,在沙箱中可以防止不可靠的Java程序.沙箱对不可靠程序的活动进行了限制,程序可以在沙箱的安全边界内做任何事,但是不能进行任何跨越这些便捷的举动.在Java 1.1中引入了基于代码签名和认证的信任模式. 基本沙箱 组成Java沙箱的基…
3.6字符串 子串substring(a,b)方法    第二个参数是不想复制的第一个位置  可以从一个较大的字符串中提取一个子串 3.6.2拼接  Java允许使用+号链接两个字符串 3.6.3不可变字符串.  可以先提取需要的字符,然后再接上替换的字符串 3.6.4检测字符串是否相等  equals()方法检测两个字符串是否相等 3.6.6  charAt(n)方法可以返回位置为n的代码单元  n介于0~s.length()-1之间 3.10.1  for each循环 语句格式为  for…
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当左边是真时,右边才进行运算:左边是假时,右边不进行运算 |和||的区别同上. 位运算符 左移(<<),右移(>>),无符号右移(>>>),与运算(&),或运算(||),异或运算(),反码(~) 左移(<<):就是将左边的操作数在内存中的二进制数据左…
迭代(iteration).重复(repetition):三种循环* for: 重复执行固定次数* while: 重复执行不固定次数* do...while: 比while至少多一次 1.答:P47迭代(iteration)允许计算机一遍又一遍地重复一段特定代码:而选择只对特定代码执行一遍. 2.答:a)输入:    5显示:    YES    NO    YES    NO    YES    NO    YES    NO    YES    NO    OK    b)输入:    0显…
if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示 语法 if (布尔表达式){ //如果布尔表达式为True将执行的语句 } package struct; import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.…
要实现虚拟机,其实人们主要考虑完成三件事情: 第一,哪些内存需要回收: 第二,什么时候回收: 第三,如何回收. 第二节,对象已死吗    垃圾收集其实主要是针对java堆里面的数据来说的,传统的垃圾收集方法主要是基于引用计数算法,比如windows里面的com或者是actionscript3里面的flash player,以及python语言,但是引用计数算法无法解决对象之间互相影响的问题.所以Java语言没有选用这种方式.    现在主流的商用语言,比如java,c#,都是采用可达性分析的算法…
2.8 程序中的幽灵:隐蔽的错误 2.8.1 无提示的错误案例 以求两个整数的平均值为例.请看下面代码: int v1 = 1073741827; int v2 = 1431655768; System.out.println("v1 = " + v1); System.out.println("v2 = " + v2); int ave = (v1 + v2) / 2; System.out.println("ave = " + ave); 输…
1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言. Java的垃圾收集(Garbage Collection)主要关注堆和方法区的内存回收. 在GC堆进行回收前,第一件事情就是要确定哪些对象还活着,哪些对象已经死亡,需要被回收. 判断对象是否存活的算法: 1)引用计数器(Reference Counting)[Java的GC不使用此算法]:      给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值减1,计数器为0的对象就是…
Java基础语法 3.1类型.变量与运算符 3.1.1类型 Java可分为基本类型和类类型或参考类型.基本类型主要有 整数:可分为short整数(2字节,-32768 -- 32767),int整数(4字节,-2147483648 -- 2147483647),long整数(8字节,-9223372036854775808 -- 9223372036854775807). 字节:byte,长度一字节,需要逐字节处理数据时使用,表示-128~127的整数. 浮点数:主要用来存储小数数值,分为flo…
在没有同步的情况下,编译器.处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整.在缺乏足够同步的多线程程序中,要对内存操作的执行顺序进行判断几乎无法得到正确的结果. 非原子的64位操作 当线程在没有同步的情况下读取变量时,可能会读到一个失效值,但至少这个值是由之前的某个线程设置,而不是一个随机值.这种安全性保证也被称为最低安全性. Java内存模型要求:变量的读取操作和写入操作都必须是原子操作,但对于非Volatile类型的long和Double变量,JVM允许将64的读操作或写操作…
更简单的打印语句 导入自己编写的静态类库,即可使用print();打印 使用Java操作符 操作符:+,-,*,/,=,==,!=,+=,?:,%等 几乎所有操作符都只能操作"基本类型",但是=,==,!=例外 String类支持+和+=.+的作用是将字符串拼接,同时若需要进行类型转换时,会将非String类转换成String类. 优先级 先乘除后加减 其余处应使用括号明确指出优先级. 赋值 =为赋值操作符. 左值必须是一个明确的,已命名的变量,用来保证有一个物理空间能保存右值. 右值…
第3章 代码风格 3.1 命名 符合语言特性 体现代码元素特征: Abstract xxx. Basexxxx.xxException.xxxTest等; 包名统一使用小写, 完整单词+点分隔符; 枚举类成员全大写+下划线 望文生义 POJO类布尔类型的变量: 数据库使用is_xxxx, 但是POJO类中属性为xxxx; 3.2 风格 if 不要省略中括号; 没有必要增加若干空使变量赋值等号对齐(之前再oschina看到这样做, 感觉便于阅读, 但是浪费时间) 多层嵌套不能超过3层: 可使用卫语…
1. Java区分大小写,下一段源代码中,关键字public称为访问修饰符,用于控制程序的其他部分对于这段代码的访问级别,关键字class表明Java程序中的全部内容都包含在类里面. 标准的类名命名规范:类名是以大写字母开头的名词,如果有多个单词构成,每个单词的第一个字母都大写. 源代码的文件名必须与公共类的名字相同,并用.java作为拓展名.和c++一样,每个Java程序都要有一个main方法(c++叫函数) public class FirstExample { public static…
这是我学习慕课网Java课程的笔记,原视频链接为:http://www.imooc.com/learn/124 3-1 Java 中的继承  ★ 概念:继承是类与类的一种关系,是一种 "is a" 的关系                                  图:继承关系--狗 和 动物 注:Java 中的继承是单继承,即一个类仅仅有一个父类  ★ 优点         ● 子类拥有父类的全部属性和方法,但假设有private修饰,则子类不能使用该属性或方法        …
算术运算符与表达式 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B等于200 / 除法 - 左操作数除以右操作数 B / A等于2 % 取余 - 左操作数除以右操作数的余数 B%A等于0 ++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21(区别详见下文) -- 自减: 操作数的值减少1 B-- 或 --B 等于 19(区别详见下文) 算术运算符与算…
相关链接 [学习总结]尚硅谷2019java数据结构和算法 github:javaDSA 目录 稀疏数组 队列 稀疏数组 稀疏数组介绍 图示 应用实例 代码实现 SparseArray.java:与二维数组的转换,包括二维转稀疏,和稀疏转二维. 课后练习 队列 引入 先进先出,有序列表 可用数组或链表实现.数组(顺序存储),链表(链式存储). 图示:使用数组模拟队列 数组模拟队列 思路: 问题: 目前数组不能复用,一次性. 使用取模的环形队列来改进 代码实现: ArrayQueueDemo.ja…
线程封闭 如果仅仅在单线程内访问数据,就不需要同步,这种技术被称为线程封闭,它是实现线程安全性的最简单的方式之一.当某个对象封闭在一个线程中时,这种方法将自动实现线程安全性,即使被封闭的对象本生不是线程安全的. 实现好的并发是一件困难的事情,所以很多时候我们都想躲避并发.避免并发最简单的方法就是线程封闭.什么是线程封闭呢? 就是把对象封装到一个线程里,只有这一个线程能看到此对象.那么这个对象就算不是线程安全的也不会出现任何安全问题.实现线程封闭有哪些方法呢? 1:ad-hoc线程封闭 这是完全靠…