CSS:层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。

————————————————————————————————————————————

小明帮妈妈打酱油,临出门了妈妈就会说:”如果有瓶装的就买个瓶装的,否则就买一个袋装的。”这种场景在计算机中非常常见,一起来看下怎么用Java实现吧。

[code lang=”java”]
public static void main(String[] args) {
boolean bottled = true;
if (bottled) {
System.out.println("打的瓶装酱油");
} else {
System.out.println("打的袋装酱油");
}
}
[/code]

上面实现的就是最常用的if,else语句的实现。
使用面向对象的方式,重构上述代码:

[code lang=”java”]
package com.sunhaojie.learntest.seventh;
/**
* @ClassName Shop
* @Description 售卖酱油的店铺
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午11:00:10
*/
public class Shop {
/**
* 瓶装酱油
*/
private int bottled = 1;
/**
* 袋装酱油
*/
private int bag = 2;
public void sell(int type) {
if (type == bottled) {
System.out.println("销售一瓶酱油");
} else {
System.out.println("销售一袋酱油");
}
}
}

public static void main(String[] args) {
Shop shop = new Shop();
shop.sell(1);
}
[/code]

上面的代码新创建了一个Shop对象,并新增了一个sell方法,可以根据入参type销售不同类型的酱油。其中”type == bottled”是比较运算符,”==”两边的值相同返回true,否则返回false。
假如该店不仅只有瓶装和袋装两种类型,还包括纸袋装,自带瓶,等类型,上面的逻辑就被重构为:

[code lang=”java”]
public void sell2(int type) {
if (type == bottled) {
System.out.println("销售一瓶酱油");
} else if (type == bag) {
System.out.println("销售一袋酱油");
} else if (type == paperBag) {
System.out.println("销售一纸袋酱油");
} else {
System.out.println("销售一次无容器酱油");
}
}
[/code]

上面的代码看是不是比较累赘,并且不容易阅读,如果再加几种类型,有会增加一些if,else判断。Java对于这种场景有一个更好的支持:

[code lang=”java”]
public void switchSell(int type) {
switch (type) {
case 1:
System.out.println("销售一瓶酱油");
break;
case 2:
System.out.println("销售一袋酱油");
break;
case 3:
System.out.println("销售一纸袋酱油");
break;
case 4:
System.out.println("销售一次无容器酱油");
break;
default:
System.out.println("没有这种类型");
break;
}
}
[/code]

switch语句可以实现if else的效果,但是更优雅。其中注意点:每个case:后的语句执行了,如果没有”break;”语句,后面的所有case都会被执行,直到遇到”break;”或者代码结束。这种场景比较少见,大部分使用的是if else语句。

小明家是开饭店的,一次要买20袋酱油。程序实现,可以调用shop.sell(1);20次,但是这样太繁琐了,Java中有while和for两种方式支持循环。

[code lang=”java”]
public static void main(String[] args) {
int count = 0;
Shop shop = new Shop();
while (count < 20) {
shop.sell(1);
count = count + 1;
}
for (int i = 0; i < 20; i++) {
shop.sell(2);
}
}
[/code]

先看一个比较运算count < 20,左边的小于右边为true,否则为false;还有一些和小于”<“类似的,大于”>”,大于等于”>=”,小于等于”<=”。

while语句,括号()中的语句为true,执行{}中的语句,直到()中的语句为false;
for语句,和while类似,但是代码更紧凑。语句” for (int i = 0; i < 20; i++)”中,”int i = 0″仅在首次执行,满足”i < 20;”执行{}中的语句,并且执行i++;for()内的语句分别对应了while的”int count = 0;”,count < 20,count = count + 1;

小明要去买20袋酱油,每瓶10块钱,但是他只有100块钱,请问小明买到了多少酱油呢?代码如下:

[code lang=”java”]
public static void main(String[] args) {
int count = 0;
int money = 100;
Shop shop = new Shop();

while (count < 20) {
if (money < 10) {
break;
}
shop.sell(1);
count++;
money = money – 10;
}
count = 0;
money = 100;
while (count < 20 && money >= 10) {
shop.sell(1);
count++;
money = money – 10;
}
}
[/code]

第一个while循环中有一个if判断,表示money<10的时候进入{},执行bread;语句,while循环结束。类似的有continue;语句,结束本次循环,while语句仍然可以继续执行。
第二个while循环中”count < 20 && money >= 10″,出现了一个新的运算符,与”&&”,这个符号的意思是&&左右两边分别为true时返回true,否则返回false。类似的运算符是”或||”,||左右两边都为false时返回false,否则存在一个或者两个为true返回true。

目前一共介绍了3种运算符,数学运算符(+-*/%),比较运算符(<,>,<=,>=)和逻辑运算符(&&,||),基本能满足日常开发。当一起使用的时候优先级是:数学运算符>比较运算符>逻辑运算符,”()”大于数学运算符。
流程控制:分支流程if else,switch case,循环流程while和for,以及中断循环的语句break,和continue。

小练习:求打印输出5000以内的质数;
质数的定义:
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。

课程中的代码如下:

[code lang=”java”]
package com.sunhaojie.learntest.seventh;
/**
* @ClassName DaJiangYou
* @Description 实现打酱油程序
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午10:52:01
*/
public class DaJiangYou {
/**
* @Title main
* @Description 实现打酱油程序
* @param args
* @return void
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午10:52:01
*/
public static void main(String[] args) {
boolean bottled = true;
if (bottled) {
System.out.println("打的瓶装酱油");
} else {
System.out.println("打的袋装酱油");
}
}
}

package com.sunhaojie.learntest.seventh;
/**
* @ClassName Shop
* @Description 售卖酱油的店铺
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午11:00:10
*/
public class Shop {
/**
* 瓶装酱油
*/
private int bottled = 1;
/**
* 袋装酱油
*/
private int bag = 2;
/**
* 纸袋酱油
*/
private int paperBag = 3;
/**
* 没有容器
*/
private int noContainer = 4;
public void sell(int type) {
if (type == bottled) {
System.out.println("销售一瓶酱油");
} else {
System.out.println("销售一袋酱油");
}
}
public void sell2(int type) {
if (type == bottled) {
System.out.println("销售一瓶酱油");
} else if (type == bag) {
System.out.println("销售一袋酱油");
} else if (type == paperBag) {
System.out.println("销售一纸袋酱油");
} else {
System.out.println("销售一次无容器酱油");
}
}
public void switchSell(int type) {
switch (type) {
case 1:
System.out.println("销售一瓶酱油");
break;
case 2:
System.out.println("销售一袋酱油");
break;
case 3:
System.out.println("销售一纸袋酱油");
break;
case 4:
System.out.println("销售一次无容器酱油");
break;
default:
System.out.println("没有这种类型");
break;
}
}
}

package com.sunhaojie.learntest.seventh;
/**
* @ClassName DaJiangYou2
* @Description 打酱油2
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午11:04:22
*/
public class DaJiangYou2 {
/**
* @Title main
* @Description 打酱油2
* @param args
* @return void
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 上午11:04:22
*/
public static void main(String[] args) {
Shop shop = new Shop();
shop.sell(1);
shop.sell2(3);
shop.switchSell(4);
}
}

package com.sunhaojie.learntest.seventh;
/**
* @ClassName DaJiangYouWhile
* @Description while循环打酱油
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 下午2:38:45
*/
public class DaJiangYouWhile {
/**
* @Title main
* @Description 循环打酱油20瓶子
* @param args
* @return void
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 下午2:38:45
*/
public static void main(String[] args) {
int count = 0;
Shop shop = new Shop();
while (count < 20) {
shop.sell(1);
count = count + 1;
}
for (int i = 0; i < 20; i++) {
shop.sell(2);
}
}
}

package com.sunhaojie.learntest.seventh;
/**
* @ClassName UnionCompare
* @Description 或和且运算
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 下午3:39:29
*/
public class UnionCompare {
/**
* @Title main
* @Description 或和且运算
* @param args
* @return void
*
* @author sunhaojie 3113751575@qq.com
* @date 2016年1月29日 下午3:39:29
*/
public static void main(String[] args) {
int count = 0;
int money = 100;
Shop shop = new Shop();
while (count < 20) {
if (money < 10) {
break;
}
shop.sell(1);
count++;
money = money – 10;
}
count = 0;
money = 100;
while (count < 20 && money >= 10) {
shop.sell(1);
count++;
money = money – 10;
}
}
}
[/code]

****************************************************************************************************
****************************************************************************************************
*******                                     Java免费在线培训学员招募                                          *******
****************************************************************************************************
****************************************************************************************************