Java 循环语句之多重循环 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行一次,内层循环要执行一圈. 如下所示: 接下来我们通过两个最简单的多重循环程序来深入理解多重循环的执行过程~ 1.使用 * 打印长方形: 实现代码为: System.out.println("打印长方形"); // 外层循环控制行数 for (int i = 1; i <= 3; i++) { // 内层循环控制每行的*…
程序流程控制 从键盘获取不同类型的变量: 使用Scanner类,具体实现步骤: 1.导包:import java.util.Scanner; 2.Scanner的实例化:Scanner scan = new Scanner(System.in); 3.调用Scanner类的相关方法,来获取指定类型的变量 注意:需要根据相应的方法输入指定类型的值,如果输入的数据类型与要求的数据类型不匹配时,会有异常:InputMisMatchException. 使用Scanner类获取int类型的变量: imp…
简单了解: Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的.因为Java没有结构,数组和串都是对象,所以不需要指针,其次Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼. Java设计成支持在网络上应用,它是分布式语言,编译程序生成字节码(byte-code),而不是通常的机器码.是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的…
1.if结构的语法: <1> 简单的if :if (条件){ //代码块                                                                        }else{ //代码块    } <2>多重if: if(条件){ 代码块 }else   if(条件){ 代码块              }else{              代码块            } <3>嵌套if:  if (条件){ …
今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == 5; - 用于判断变量ia的数值是否等于5 5 == ia; - 用于判断5是否等于ia的数值,推荐使用该方式 ia = 5; - 用于使用数据5给变量ia赋值,覆盖ia原来的数值 5 = ia; - 编译报错 (2)复合赋值 +=   -=   *=   /=   ... 笔试题: byte b1…
循环 老生常谈的一个控制流程了,我们在是使用数组和集合的时候,遍历元素的时候经常会用到循环的结构,Java具有非常灵活的三种循环机制: 根据是否知道循环的次数可以为分为while循环,do...while循环和for循环,下面我们单独来了解一下: while循环 当我们不知道循环的具体次数时,可以使用while循环进行操作,下面是while循环的伪代码 定义初始变量 while (控制条件) { 循环体 } 代码示例: // 定义控制循环变量 int start = 0; // 循环条件 whi…
前言 前些天无意间在百度搜索了一下以前写过的博客 我啥时候在这么多不知名的网站上发表博客了???点进去一看, 内容一模一样,作者却不是我... 然后又去搜了其他篇博客,果然,基本上每篇都在别的网站上有,细想,可能是通过网络爬虫爬取博客园首页博客,然后copy至自己网站中,于是乎,博主也来实现一遍爬取流程... 实现思路 先访问博客园首页,F12查看源代码,可以看到博客的链接和标题都是放在一个a标签里, 点击一下上一下.下一页,再看一下请求参数,嗯...这个应该是页码参数 通过以上这些信息,我们就…
前段时间自己研究了下线程池的实现原理,通过一些源码对比,发现其实核心的东西不难,于是抽丝剥茧,决定自己实现一个简单线程池,当自已实现了出一个线程池后.发现原来那么高大上的东西也可以这么简单. 先上原理图:为了更好的在手机上显示,我重新把图画了一遍 上代码之前,要先补充一下线程池构造的核心几个点 线程池里的核心线程数与最大线程数 线程池里真正工作的线程worker 线程池里用来存取任务的队列BlockingQueue 线程中的任务task 本例实现简化了一些,只实现了BlockingQueue存放…
有时需要修改很多jar(假设这些jar都位于lib目录)中其中一个jar中的某一个类,而且又没有原始代码或ide,这时最简单的方式是: 1 进入lib目录 # cd lib # ls test.jar dependency1.jar dependency2.jar 2 查看待修改jar包内类结构 $ unzip -l test.jar or $ vim test.jar 3 解压待修改jar包 $ mkdir test_dir $ unzip test.jar -d test_dir 4 查看c…
一.泛型程序的定义和使用 1.为什么要使用泛型程序设计 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用.同时,使得程序具有更好的可读性和安全性. ArrayList<String> files = new ArrayList<>(); 泛型使用类型参数来指示元素的类型,例如“String”.有两个好处: 当调用get的时候,不需要进行强制类型转换,编译器就知道返回值的类型是String,而不是Object String filename = files.get(0);…