`
conanwsz
  • 浏览: 8280 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

从“傻X”到牛X——扫盲篇( 三)JAVA的基本语法(二)

阅读更多
一、上节回顾
上次我们学习了变量,和一些基本的运算符的相关知识。这次我们要学习一下什么是逻辑。
btw:上次关于“+”的用法虽然最后的例子中用到了,可是没有讲。
String str = "Hello Lilei!";    //声明str为字符串,初值为Hello Lilei!
...
str += " I'm Hanmeimei!";   //+=运算符的效果等同于:str = str + " I'm Hanmeimei!";  

这次我们上次写到的一句代码。运行过的同学都很清楚“+”是用来连接两个字符串的。
比如:"AAA"+"BBB",返回结果就是"AAABBB"。
那么上述代码中str+=" I'm Hanmeimei!";就不难理解了。结果就是"Hello Lilei! I'm Hanmeimei!"。
下面开始这次的内容。

小知识:在Eclipse中,按下 Ctrl+Shift+F 可以让Eclipse自动为我们的代码排版。

二、条件判断语句
我们知道,JAVA语言是从程序的入口函数(public static void main())开始,逐行执行的。
假如我们要有一个选择怎么办呢?比如上次说的,玩家打怪,打中跟没打中,结果显然是不一样的。if-else语句帮我们解决了这个问题。

1、if-else语句


语法结构:
if(条件表达式)
{
   语句块;
}
else
{
   语句块;
}

拿例子说明问题
		boolean hitSuccess = false;                  //声明一个布尔型的变量

		if (hitSuccess == true) {                    //如果hitSuccess为真
                //语句块1
			System.out.println("打中了!!");          //输出“打中了”
		} else {                                     //如果hitSuccess不为真
                //语句块2
			System.out.println("真可惜");
			System.out.println("没打中");
		}

这下很清晰了吧。程序执行到if (hitSuccess == true)的时候,就会进到括号里进行判断,如果括号里的条件成立,那么执行下面的语句块1,如果条件不成立则执行else里面的语句块2。
if()里的判断条件可以是多种多样的。
int i=100;
int j=50;
int k=i+j;
if(k>200)
{语句块1}
else if(k<100) //else if用在if和else之间。满足了需要判断多个条件的需求。
{语句块2}
else if(k==150)
{语句块3}
else  //else是可选的,如果不需要做最后的判断,可以不写else。
{语句块4}

我们读读上面的代码,很容易理解。
如果 k>200 ,执行 语句块1
如果 k<100 ,执行 语句块2
如果 k==150 ,执行 语句块3
如果 k的值都不满足上述条件,则执行语句块4。简单吧。

注意,如果在一个if-else的结构中,有任意一个语句块被执行了,那么其它的就都不会被执行了。就是说
if(k>100){...}
else if(k>150){...}
如果k的值为200,虽然两个条件都满足,但是当执行完了if(k>100){...}里面的语句块之后下面的else if就不会再被执行了。


大家可能奇怪,为什么是 k==150 ,而不是 k=150。
因此这里我们还要引出一概念:判断比较符。
> ,大于
>=,大于等于
< ,小于
<=,小于等于
这些都跟大家八岁学的意义一样。
要注意一下的是 == 。这个符号的作用是比较左右两边是否相等。还记得我们上节中说到了 = 吗?对了,它叫赋值号。作用是把右边的表达示的结果赋给左边的变量,千万不要跟这个比较符搞混了。

除了上述的符号,常用的还有:
&& ,“与”——表示并且(and),取交集。
|| ,“或”——表示或者(or),取并集。
因此上述代码我们还可以写成:
int i=100;
int j=50;
int k=i+j;
if(k>200 || k<100)    //如果 k>200 或 k<100 执行语句块1
{语句块1}
else if(k>=100 && k<=200)    //如果 k>=100 且 k<=200 执行语句块2
{语句块2}


if-else我们就说到这里。条件判断的语法其实还有一个——switch语句。如果以后需要用到,再讨论。讲完了条件判断,再来讲讲循环。

三、循环语句
我们做游戏,要在屏幕上生成一群怪的话,总不能自己一个个手工为每个怪都编写一段代码,让它们显示在屏幕上吧,那样子要死人的!!!

[size=medium]1、while循环语句
while(条件表示式){
   语句块;
}

上面可以看出,while循环的语法结构很简单。下面我们来用while循环语句模拟一下生成10个怪。
		int i = 0;
		while (i < 10) {
			System.out.println("我是怪" + i + ",我出来了,哈哈哈!");
			i++;   
		}

咱们还是一行一行的来看(总共也没几行可以看-_-!)。
	int i = 0;

这个 i ,我把它称为循环控制变量。
		while (i < 10) {循环体;}

如果 i<10 那么进入循环体,开始重复执行里面的代码。
		while (i < 10) {
			System.out.println("我是怪" + i + ",我出来了,哈哈哈!");
			i++;   
		}  

进入循环了总得退出啊,要不然代码运行到里面就不出来了,就会变成死循环。这里就靠我们的小 i 来退出。还记得 i++; 吧。就是 i 自身加1。每执行一次循环 i 的值就加1。当 i 的值等于10的时候,那么便不再满足 i<10 的条件,循环退出。

[size=medium]2、for循环语句
语法结构
for(表达式1;表达式2;表达式3;)
{
    语句块;
}

还是用例子说话
for(int i=0;i < 5;i++;)
{
    System.out.println(i);  //结果是换行输出1 2 3 4 5
}

对照上面,我们很容易发现:
表达式1 是用来声明或初始化一个循环变量。(声明变量i,初值为0)
表达式2 是循环控制条件。(满足 i < 5 这个条件时,循环继续,否则退出循环)
表达式3 是循环控制变量的自增涨。(每次循环体完成后,执行i++)
可以看出来,只是和while循环形式上不一样,本质还是一样的。

最后我们用一个“复杂”的例子来结束这一节。
我们的目的是在控制台打印如下效果,大家可以先自己做着试试, 不看下面答案。
*
**
***
****
*****
提示:System.out.println()是换行打印。System.out.print()是不换行打印。


package test;

public class ForPro {

	/**
	 * 不要看我,不要看我,不要看我。
	 */
	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}



由于这个J2SE的内容太多,而来这里看的人多少都有些编程的底子,这样详细的讲解没必要。所以我决定提前结束掉扫盲篇的内容。关于后面还要用到的数组以及OOP的思想,我在这就不多讲了,需要了解的可以自己去找点资料看看。下次就进入J2ME的基础篇了。
分享到:
评论

相关推荐

    车载以太网——扫盲篇 硬件工程师电路分析物联网模电单片机嵌入式技术.doc

    车载以太网标准化方面,IEEE802.3 和 IEEE802.1 工作组、AUTOSAR、OPEN 联盟以及 AVnu 联盟起到了主要的推动作用。IEEE802.3 制定的局域网标准代表了业界主流的以太网标准,车载以太网技术是在 IEEE802.3 基础上开始...

    java扫盲初级知识

    在本文中,我们将探讨Java的基础知识,主要关注Java的环境配置与基本概念,这将有助于初学者更好地理解Java的核心组成部分及其应用场景。 ### Java环境介绍 #### Java SDK (Software Development Kit) Java SDK ...

    《零基础学习软件测试》视频教程-扫盲篇

    资源名称:《零基础学习软件测试》视频教程-扫盲篇资源目录:【】《零基础学习软件测试》之软件测试知识扫盲篇_1【】《零基础学习软件测试》之软件测试知识扫盲篇_2【】《零基础学习软件测试》之软件测试知识扫盲篇_...

    大模型扫盲系列——初识大模型.docx

    大模型扫盲系列——初识大模型.docx

    Java 工程师进阶知识完全扫盲

    Java 工程师进阶知识完全扫盲 本文将从 Java 工程师的视角,深入探讨消息队列(Message Queue)技术的知识点,并对面试官的提问进行解答。 一、使用消息队列的原因 面试官:你在系统里用过消息队列吗? 候选人:...

    Git和Repo扫盲——如何取得Android源代码.doc

    Git和Repo扫盲——如何取得Android源代码

    敏捷开发之Scrum扫盲篇

    **敏捷开发之Scrum扫盲篇** 敏捷开发是一种软件开发的方法论,强调适应性、灵活性和团队合作,以快速响应变化并提供高质量的产品。Scrum是敏捷开发中的一个框架,它以其高效、迭代和增量的特性深受业界欢迎。本文将...

    Git和Repo扫盲——如何取得Android源代码

    Git 和 Repo 扫盲——如何取得 Android 源代码 在了解 Git 和 Repo 之前,我们首先需要了解版本控制系统的概念。版本控制系统是指一种管理和跟踪项目代码变更的系统,它可以帮助开发者记录和管理项目的历史修改记录...

    DDR扫盲——single rank与dual-rank

    #### 二、内存数据总线简介 内存数据总线是连接CPU与内存的关键路径,其主要功能是传输数据与地址信息。通常情况下,一条DDR内存的数据总线宽度为64bits,意味着总线上有64条数据通道,每次可以传输64位的数据。...

    钻石知识扫盲篇.ppt

    钻石知识扫盲篇.ppt

    互联网 Java 工程师进阶知识完全扫盲

    随着技术的不断发展,对于Java工程师的要求也不再仅仅局限于基础语法和简单应用。"互联网 Java 工程师进阶知识完全扫盲"是一个全面的学习资源,旨在帮助Java开发者提升技能,掌握在高并发、分布式、高可用、微服务...

    Java 工程师进阶知识完全扫盲.zip

    "Java工程师进阶知识完全扫盲"这个主题涵盖了广泛的Java技术领域,旨在帮助Java开发者深入理解语言机制,优化编程技巧,以及应对面试中的常见问题。以下是这些知识点的详细阐述: 1. **Java基础巩固**:熟练掌握...

    Git和Repo扫盲——如何取得Android源代码 - William Hua的Blog

    本文将围绕“Git和Repo扫盲——如何取得Android源代码”这一主题,深入探讨这两个工具以及如何利用它们获取Android的源代码。 Git是一款分布式版本控制系统,由Linus Torvalds为Linux内核开发而创建。它允许开发者...

    PCIe扫盲,pcie扫盲系列博文

    总的来说,PCIe扫盲系列涵盖了从物理层的信号传输到高层的中断机制、配置空间管理,再到系统级的性能评估和电源管理。这些知识对于理解PCIe如何在现代计算环境中高效运作,以及如何优化系统性能具有极大的价值。通过...

    Java 最新面试宝典 java 面试宝典 java 最新面试宝典 Java面试Java 工程师进阶知识完全扫盲

    面试技术攻克篇 Java基础知识 Java Web 数据库原理 ...“前车之鉴,后事之师”,这也就是为什么很多程序员在面试之前,都会去一些网站刷面经,实际上也是想要从这一些面经中了解到一些实际情况,

    Linux扫盲-Linux菜鸟过关(V3.0)——Linux入门必备

    Linux扫盲-Linux菜鸟过关(V3.0)——Linux入门必备 您不需要任何Linux技能也能阅读本教程,Linux菜鸟过关全面解决您的Linux之旅问题。您现在要做的是了解一些Linux知识与安装方法,按照本教程的顺序阅读即可。本...

    hIbernate扫盲篇

    **Hibernate扫盲篇** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,初次接触Hibernate时,由于其丰富的配置选项和复杂的使用方式,不少开发者可能会感到困惑。...

    常用电子元件扫盲篇 电子元件基础知识

    ### 常用电子元件扫盲篇:电子元件基础知识 #### 一、三极管简介 三极管是一种重要的半导体器件,广泛应用于放大电路、开关电路等。它由两个PN结组成,通常分为NPN型和PNP型两种类型。 - **NPN型**:发射区为N型...

    power mosfet扫盲篇.pdf

    《Power MOSFET扫盲篇》一文深入探讨了功率MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor,金属氧化物半导体场效应晶体管)的基础知识、工作原理及其在电力电子领域的应用。功率MOSFET作为现代电力...

Global site tag (gtag.js) - Google Analytics