尚硅谷_宋红康_第2章_Java基本语法2

合集下载

Java应用教程_02Chapter

Java应用教程_02Chapter

2013年8月31日星期六
2.2常量和变量

2.2.1常量
在程序运行过程中,其值不能被改变的量称为常量。 Java中常用的常量有不同的类型:布尔型常量、字符型 常量、整数型常量、浮点型常量和字符串型常量。 布尔型常量包括true和false,分别代表真和假;字符 型常量用一对单引号括起来的单个字符表示,如‘a’、 ‘1’等;整数型常量可以采用八进制、十进制和十六进制 表示。八进制的常量用以零开头的数字表示,如011代 表十进制的9;十六进制的数用以0x开头的数字表示, 如0x11代表十进制的17。
用做专门用途,但不是Java关键字。
2013年8月31日星期六
2.1.3 Java分隔符

Java分隔符组成:
分号--“;”、花括号--“{}”、空格--“ ”

Java分隔符作用:


Java语句必须以分号作为结束标记 Java允许用花括号“{}”将一组语句括起 来,形成一个语句块(block) Java程序源代码中各组成部分之间可以插入 任意数量的空格,包括换行。
2013年8月31日星期六
2.3.3 整数型
Java各整数类型有固定的表数范围和字段长度, 而不受具体操作系统的影响,以保证Java程序 的可移植性 :
第2章 Java语法基础
内容提要:

标识符、分隔符和关键字 常量和变量 Java的数据类型 运算符、表达式和语句 条件语句 循环语句 跳转语句
2013年8月31日星期六
2013年8月31日星期六
2.1标识符、分隔符和关键字

2.1.1 Java标识符与注释
Java语言中,为各种变量、方法和类等起的 名字称为标识符。Java语言标识符的组成有一 定的规则,如标识符必须以字母、下划线(_) 或美元符($)开头,后面可以跟任意数目的 字母、数字、下划线(_)或美元符($)。标 识符的长度没有限制,标识符可以由编程者自 己指定,但是要遵循一定的规则。

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

通过“继承”实现
特有的代码 学生类
特有的代码 教师类
特有的代码 工人类
特有的代码 农民类
继承的思想
人类
继承 (extends)
教师类
学生类
工人类
兽医类
面向对象思想“落地”法则(三)
继承的思想
多个类中存在相同属性和行为时,将这些内容抽取到 单独一个类中,那么多个类无需再定义这些属性和行 为,只要继承那个类即可。
new Car() new Car()
类名 数据(属性) 方法
举例
move() stop()
c1:Car
方法
c2:Car wheels=6 move() stop()
wheels=4 move() stop()
练习:创建Java自定义类
步骤: 1. 定义类(考虑修饰符、类名) 2. 编写类的属性(考虑修饰符、属性类型、属性名、 初始化值) 3. 编写类的方法(考虑修饰符、返回值类型、方法名、 形参等)
Java基础知识图解
JHale Waihona Puke VA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
三大 特性
接口
方法
设计模式
应用程序开发
Annotation
异常处理 多线程 反射
Oracle/MySQL
public class Animal{ private int legs;//将属性legs定义为private,只能被Animal类内部访问 public void setLegs(int i){ //在这里定义方法 eat() 和 move() if (i != 0 && i != 2 && i != 4){ System.out.println("Wrong number of legs!"); return; } legs=i; } public int getLegs(){ return legs; } } public class Zoo{ public static void main(String args[]){ Animal xb=new Animal(); xb.setLegs(4); //xb.setLegs(-1000); xb.legs=-1000; //非法 System.out.println(xb.getLegs()); } }

尚硅谷_宋红康_Java流程控制

尚硅谷_宋红康_Java流程控制

设计模式
应用程序开发
Annotation
异常处理 多线程 反射
连接Oracle
JDBC
集合
类库
IO
网络
程序流程控制
顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转。
分支结构
根据条件,选择性地执行某段代码。 有if…else和switch两种分支语句。
循环结构
根据循环条件,重复性的执行某段代码。 有while、do…while、for三种循环语句。 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。
if语句练习1
2)boolean b = true; if(b == false) //如果写成if(b=false)能编译通过吗?如果能,结果是? System.out.println("a"); else if(b) System.out.println("b"); else if(!b) System.out.println("c"); else System.out.println("d");
if-else语句应用举例
if语句例题1
从键盘输入小明的期末成绩。 当成绩为100分时,奖励一辆BMW; 当成绩为(80,99]时,奖励一个台iphone5s; 当成绩为[60,80]时,奖励一本参考书; 其它时,什么奖励也没有。
if语句例题2
编写程序:由键盘输入三个整数分别存入变量num1、 num2、num3,对它们进行排序(使用 if-else if-else), 并且从小到大输出。
for语句例题
编写程序FooBizBaz.java,从1循环到150并在每行打 印一个值,另外在每个3的倍数行上打印出“foo”, 在每个5的倍数行上打印“biz”,在每个7的倍数行上 打印输出“baz”。

第2章Java编程基础-精选文档

第2章Java编程基础-精选文档

值范围 -3.4×1038~3.4×1038 -1.7×10308~1.7×10308
2.浮点型常量
在计算中,为了要求计算的准确性,对数据的要求是非常严格的。 使用整数不能很好地表现数据的准确性,这种情况下就引入了浮点 型。
浮点型就是可以带小数点的数据类型。
◦ (1)表示形式 ◦ 浮点型有两种表示形式:小数点形式(如:12.37,-0.5946)
1.整数类型常量 2.浮点型常量
3.字符型常量
4.字符串常量 5.布尔型常量
1.整数类型常量
在Java中,整数的数据类型可以分为long、int、short和byte 四种类型。整型的取值范围参见下表。
类型
存储位数
单精度(float) 4(bits)
双精度(double) 8(bits)
本章知识点
数据类型 常量、变量、表达式 数据类型的转换 数组 流程控制语句
2.1 数据类型
Java语言的数据类型可以分为两大类:基本类型
(primitive type)和引用类型(reference e)。
基本类型
整型 浮点型 字符型 布尔型
Java数据类型
引用类型
数组 接口 类
2.1 数据类型
第2章 Java编程基础
通过本章的学习,掌握Java语言的语法结构和书写规范,为今后 Java编程打好基础。本章的主要内容有:数据类型,常量、变量、 表达式,数组,数据类型的转换,流程控制语句。
2.1 数据类型 2.2 常量、变量、表达式 2.3 数组 2.4 流程控制语句
学习目标
学习Java编程基础,使学生能比较快速 地进入学习Java编程环境,为以后熟练 地应用开发工具进行试验和验证各种技 术细节打下良好的基础。

[尚硅谷]_宋红康_Java之23种设计模式解析

[尚硅谷]_宋红康_Java之23种设计模式解析

[尚硅谷]_宋红康_Java之23种设计模式解析—————————————————————————————题目:Java 之23种设计模式解析一、设计模式概述总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

具体如下:其中创建型有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。

Java基础_F2-03_TP2_java语法基础

Java基础_F2-03_TP2_java语法基础
一. 算术运算符
Java运算符和表达式 运算符和表达式( 2.4 Java运算符和表达式(续)
一. 1.
2. 3.
算符运算符注意事项
“+”除字符串相加功能外,还能把非字符串转换成 字符串 ,如: “x”+123;的结果是“x123” 。 如果对负数取模,可以把模数负号忽略不记,如: 5%-2=1。但被模数是负数就另当别论了。 对于除号“/”,它的整数除和小数除是有区别的: 整数之间做除法时,只保留整数部分而舍弃小数部 分。 int x=3510;x=x/1000*1000;实际运行结果 是3000 ,想想为什么?
Java基本数据类型 基本数据类型( 2.3 Java基本数据类型(续)
对象数据类型
类、接口 字符串、集合、 数组
基本数据类型
整数、字符、布尔、实 数
机器内部表示
字、字节、位
Java基本数据类型 基本数据类型( 2.3 Java基本数据类型(续)
一. 1. 2. 3. 4. 5.
数据类型的大小
6.
一.
1. 2. 3. 4. 5.
变量是指其值在运行时可以改变的量。 在程序运行期间其值保持不变的量,我 们称之为常量。Java语言中使用关键 字final来定义常量。例如:
final double PI = 3.14159; // PI是实数类型常 量 int x, y; // x, y是整数类型变量 double w = 3.1415;// w是实数类型变量 boolean truth = true;// truth是布尔类型变量 Constant const = new Constant();// const是 对象类型变量
程序头的注释 HelloWorld类 方法头

尚硅谷_宋红康_Java中数组结构及经典排序算法解析

尚硅谷_宋红康_Java中数组结构及经典排序算法解析

do-while 循环语句
语法格式
[初始化语句] do{ 语句或语句块; [更改语句;] }while(布尔值测试表达式);
应用举例
public class WhileLoop { public static void main(String args[]){ int result = 0, i=1; do{ result += i; i++; }while(i<=100); System.out.println("result=" + result); } }
每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数) 数组一旦初始化,其长度是不可变的
经典题目
从键盘读入学生成绩,找出最高 分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余 等级为 ’D’
注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。 Java中多维数组不必都是规则矩阵形式
int[][] i = new int[3][2];
i[0][1] = 12;
12
i[0]
i[1] i[2]
int[][] i = new int[3][]; i[0] = new int[2]; i[1] = new int[3]; i[2] = new int[4];
分支结构2:switch语句
switch(表达式){ case 常量1: 语句1; break; case 常量2: 语句2; break; …… case 常量N: 语句N; break; default: 语句; break; }

Java语言程序设计(第2版)第1-6章课后习题答案

Java语言程序设计(第2版)第1-6章课后习题答案

第1章Java语言概述选择题1-1 在下列概念中,Java语言只保留了(B)A. 运算符重载B. 方法重载C. 指针D. 结构和联合1-2 下列关于Java语言特性的描述中,错误的是(D)A. 支持多线程操作B. Java 程序与平台无关C. Java 和程序可以直接访问Internet 上的对象D. 支持单继承和多继承1-3 下列关于Java Application 程序在结构上的特点的中,错误的是(C)A. Java 程序是由一个或多个类组成的B. 组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中C. Java 程序的文件名要与某个类名相同D. 组成Java程序的多个类中,有且仅有一个主类1-4 Java 程序经过编译后生成的文件的后缀是(C)A. .objB. .exeC. .classD. .java1-5 下列关于运行字节码文件的命令行参数的描述中,正确的是( A )A. 第一个命令行参数(紧跟命令字的参数)被存放在args[0]中B. 第一个命令行参数被存放在args[1]中C. 命令行的命令字被存放在args[0]中D.数组args[]的大小与命令行参数的个数无关判断题1-1 JavaC++的语言之前问世的。

(错)1-2 Java语言具有较好的安全性和可移植性及与平台无关等特性。

(对)1-3 Java语言中取消了联合的概念,保留了结构概念。

(错)1-4 Java语言中数据类型占内在字节数与平台无关。

(对)1-5 Java语言中可用下标和指针两种方式表示数组元素。

(错)1-6 Java语言的源程序不是编译型的,而是编译解释型的。

(对)1-7 操作系统中进程和线程两个概念是没有区别的。

(错)1-8 Java语言既是面向对象的又是面向网络的高级语言。

(对)1-9 Java 程序分为两大类:一类是Application 程序,另一类是Applet 程序。

前者又称Java应用程序,后者又称为Java小应用程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

静态初始化:在定义数组的同时就为数组元素分配空间并赋 值。 MyDate dates[] = { int a[] = new int[]{ 3, 9, 8}; new MyDate(22, 7, 1964), int[] a = {3,9,8}; new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) }
练习1
1.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的 数组t作为其成员变量。数组元素未赋值。 定义类Array1,在Array1的main()方法中创建Pritimive对象d, 输出其成员变量t的三个元素值。 练习目的:检验基本数据类型数组创建时的自动赋值。 (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元 素值。 2. 定义类Student,包含三个属性:学号number(int),年级 state(int),成绩score(int)。 创建20个学生对象,学号为1到20,年 级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.random(),返回值类型double; 四舍五入取整:Math.round(double d),返回值类型long。
一维数组声明
一维数组的声明方式:
type var[] 或 type[] var; 例如:
int a[]; int[] a1; double b[]; Mydate[] c; //对象数组
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
一维数组初始化
0x1234 null null null null null stu[0]= 0x3344
Student[] stu = new Student[5]; stu[i] = new Student(); 0x3344 number:1 state:5 score:78
stu:0x1234
heap: new 出来的东西
处内存状态 栈内存
堆内存
m
创建对象数组 (3)
创建元素为引用类型(对象)的数组演示
public class Test{ 栈内存 public static void main(String args[]){ MyDate[] m; m = new MyDate[10]; for ( int i=0; i<10; i++ ) { m[i] =new MyDate(i+1, i+1,1990+i); m[i].display(); } } main m }
0x23AB 0 0 78 88
0x1234
0 98 null null null 商文通 汤化峰
names:0x1234 scores:0x23AB


int[] myInt = new int[5]; for(int i = 0;i < myInt.length;i++){ sysout(myInt[i]); myInt[i] = 2*i+1; sysout(myInt[i]7
9
堆 heap:程序new出 来的东西
myInt:0x1234 栈 stack
0x9876 1990 0x5435 null 0x9876 null null null 12 12 1991 2 12 1999 1
14
md:0x5435 stack:存放声明的 引用,局部变量
栈内存
堆 内 存
创建基本数据类型数组 (2)
创建基本数据类型一维数组对象
public class Test{ public static void main(String args[]){ int[] s; 栈内存 s = new int[10]; //int[] s=new int[10]; //基本数据类型数组如果没有赋初值, //Java自动给他们赋默认值。 for ( int i=0; i<10; i++ ) { s[i] =2*i+1; System.out.println(s[i]); } main s } 处内存状态 }
对于基本数据类型而言,默认初始化值各有不同 对于引用数据类型而言,默认初始化值为null(注意与0不 同!)
数组元素的引用
定义并用运算符new为之分配空间后,才可以引用数组中的每 个元素; 数组元素的引用方式:数组名[数组元素下标] 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]; 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、 a[1]、a[2] 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数) 数组一旦初始化,其长度是不可变的
栈内存
MyDate[] 对象
***** ***** ***** null null null null null null null
1 1 1990 2 2 1991 3 3 1992
m
堆内存
heap stack 1 1 **** **** **** 3 **** 3 1992 4 4 myDate: 1993 2 2 1991 1990
Java内存的结构
堆 (heap)
栈(stack)
字符串常量池 方法区 静态域
int[] scores = new int[3]; scores[0] = 78; scores[1] = 88; scores[2] = 98; String[] names= new String[3]; names[0] = “商文通”; names[1] =“汤化峰”;
动态初始化:数组声明且为数组元素分配空间与赋值的操作 分开进行
int[] arr = new int[3]; arr[0] = 3; arr[1] = 9; arr[2] = 8;
MyDate dates[]; dates = new MyDate[3]; dates[0] = new MyDate(22, 7, 1964); dates[1] = new MyDate(1, 1, 2000); dates[2] = new MyDate(22, 12, 1964);
2000 3
5
heap:存放程序new出来的“东西”
int[] score = new int[10]; score[1] = 88; score[3] = 56;
0x2332 0 0 0 0 0 0 0 0 0x4444 0 0 堆 heap 0 56 String[] str = new String[3]; str[2] = "AA"; 0x1234
0x8877
new boolean[3] false false true true true
0x9988
new Pritimive() t:0x8877
false
d:0x9988
3. 从键盘读入学生成绩,找出最 高分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余 等级为’D’
int[]对象
1 3 5 7 9 11 13 15 17 19
堆 内 存
创建对象数组 (1)
创建元素为引用类型(对象)的数组
class MyDate{ private int day; private int month; private int year; public MyDate(int d, int m, int y){ day = d; month = m; year = y; } public void display(){ System.out.println(year + "-" + month + "-" + day); } }
new int[10]; 88
null
null null AA
str:0x1234
score:0x2332 栈 stack 0x4444
0 0
score = new int[3];
创建基本数据类型数组 (1)
Java中使用关键字new创建数组对象 创建基本数据类型一维数组对象 public class Test{ public static void main(String args[]){ int[] s; s = new int[10]; for ( int i=0; i<10; i++ ) { s[i] =2*i+1; System.out.println(s[i]); } main s } 处内存状态 }
第 2章 Java基本语法2
讲师:宋红康
新浪微博:尚硅谷-宋红康
2.6 数组
数组是多个相同类型数据的组合,实现对这些数据的 统一管理 数组中的元素可以是任何数据类型,包括基本数据类 型和引用数据类型 数组属引用类型,数组型数据是对象 (object) ,数组 中的每个元素相当于该对象的成员变量
创建对象数组 (2)
创建元素为引用类型(对象)的数组演示
public class Test{ public static void main(String args[]){ MyDate[] m; m = new MyDate[10]; for ( int i=0; i<10; i++ ) { m[i] =new MyDate(i+1, i+1,1990+i); m[i].display(); } } main }
相关文档
最新文档