201771010136杨野 第二周学习总结

一 理论知识学习部分

1基本知识      2数据类型       3变量

4运算符       5类型转换

6字符串       7输入输出

8控制流程      9大数值         10数组

标识符

标识符由字母、下划线、 美元符号和数字组成,且第一个符号不能为数字。

下列都是合法标识符:    Hello 、$1234 、程序名、www_123

标识符可用作: 类名、 变量名、方法名、数组名、文件名等。

关键字

关键字就是Java语言中已经被赋予特定意义的一些单词。

常见有: 常见有:class 、public 、try 、catch 、if、float 、import 、void等。

关键字不做变量名。

注释

Java有三种注释的方式: 有三种注释的方式:

1. //

注释内容由 注释内容由//一直到此行结束。 一直到此行结束。

2. /* 和*/

定义一个注释块。

3. /** 开始,*/结束

这种注释方法可用来自动产生文档。

数据类型

Java是一种强类型语言。这意味着每一个变量必须声明一种为类型。

Java 共有8种基本类型

– 整数类型( 整数类型(int 、short 、long 、byte) )

– 浮点类型( 浮点类型(float 、double) )

– 字符类型 ( 字符类型 (char) )

– 布尔类型( 布尔类型(boolean )

整数类型

整型常量表示:

十进制:123, 6000

八进制:077, 065

十六进制:0x234, 0xab12

整型变量的数据类型分为四种:

int   short  long   byte

Java 中整数的范围与运行Java代码的机器无关。

Java 中没有unsigned类型。

类型 存储需求 取值范围
int 4字节 -2147483648~2147483648
short 2字节 -32768~32768
long 8字节 -9 233 372 036  854 775 808~9 233 372 036  854 775 808
byte 1字节 -128~127

int

变量定义:

int x;

int height, age;

定义同时可赋值:

int height=180, age=20;

对于int 型变量,内存分配个4 字节,

占32位,取值范围-2^31 ~ 2^31 -1


short

变量定义:

short h;

short m, n;

? 定义同时可赋值:

short m=12, n=20;

对于 对于short 型变量,内存分配2个字节,占16位,取值

范围-2^15 ~2^15 -1

long

变量定义:

long sum;

long I, j, k;

定义同时可赋值:

long sum=343435L;

对于 对于long 型变量,内存分配8 个字节,占64位,取值

范围-2^63 ~2^63 -1

byte

变量定义:

byte w;

byte x,y,z;

定义同时可赋值:

byte x=12, y=24, z=36;

对于 对于byte 型变量,内存分配个1 字节,占8位,取值范

围-2^7 ~2^7 -1

浮点类型

Java中有两种浮点类型:

float          double

浮点常量的表示:

小数表示 430.2

科学计数 4.302E2

表示溢出和出错的三种特殊的浮点数值:

正无穷大  负无穷大  NaN(非数字)

类型 存储需求 取值范围
float 4字节 大约+-3.402 823 47E+38F
double 8字节 大约+-1.797 693 134 862 315 70E+308
float double

常量

12.23f, 32.00F, 2e40f

变量的定义

float x;

float x1,x2,x3;

定义时赋初值

float x1=12.23f, x2=32.00f, x3;

对于float 型变量内存分配4 个字节,占32位。

常量

12.23d, 32.00D,123.0,6e-120

?变量定义

double d;

double d1,d2,d3;

定义时可以赋初值

double d1=12.23, d2=32.00d, d3;

对于double 型变量内存分配8 个字节,占64位。

字符类型

char:

常量

‘a’ 、‘A’ 、‘8’ 、‘?’

变量定义

char q; char c, type, cat;

定义同时可赋值

char c=‘a’, type, cat;

字符集: Java 采用unicode 字符编码集,该编码集16位,含有65536 个字符。

Unicode( 统一码、万国码)是一个编码规范,为解决传统字符编码方案局限产生,它为每种语言中的每个

字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

转义字符:前缀\u 表示Unicode 值,而十六进制的4位数字则表明具体是哪个Unicode字符。

一些特殊字符的转义序列。如 一些特殊字符的转义序列。如\b,\n,\\ 等。

布尔类型 boolean

常量

true、false

变量的定义

boolean x;

boolean x,y;

定义同时可赋值

boolean x=true, y=false;

在Java中,布尔值和整数不能相互转换。

变量

在Java中,每一个变量属于一种类型。在声明变量时,

变量所属的类型位于变量名之前。

– double salary;

– int vacationDays;

– long earthPopulation;

– boolean done;

在Java中,一行可以声明多个变量。逐一声明每一个变量可以提高程序的可读性。

– int i,j;//both are integers

变量初始化

一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量的值。

在Java中,可以在代码的任何位置进行变量声明。变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。

在Java中,不能在同一作用域内声明两个同名的变量。不能在同一作用域内声明两个同名的变量。

 常量

在Java中,使用关键字final来指示常量。习惯上常量名都用大写。

final double CM_PER_INCH=2.54;

关键字final表示只能对变量赋一次值,其值一旦设定,便不能改。

在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。

可以使用关键字 static final 声明一个类常量( classconstants)。

public static final double CM_PER_INCH=2.54;

运算符

-算术运算符

在java中,使用算数运算符  +   -   *   / 表示加 减 乘 除运算。整数求余操作用%表示。

--结合赋值运算符

可以在赋值中使用二元运算符,例如x+=4;等价于x=x+4;

--自增运算符与自减运算符

java中也提供自增自减运算符,例如int n=12; n++;将n的值改为13.

--关系运算符和boolean运算符

java包含丰富的关系运算符,要检测相等性,可以使用==,可以用!=检测

不相等。还有常使用的<     >    <=   >=   。java沿用了c++的做法,如&&和||等等...

运算符的优先级与结合性

优先级 操作符 结合性
1 [ ] . () ( 方法调用) 从左到右
2 ! ~ ++ -- +( 一元) –( 一元) ()( 强制类型转换) new 从右到左
3 * / % 从左到右
4 + - 从左到右
5 << >>( 算术右移) >>>( 逻辑右移) 从左到右
6 < <= > >= instanceof 从左到右
7 == != 从左到右
8 & 从左到右
9 ^ 从左到右
10 从左到右
11 && 从左到右
12 ||  从左到右
13 ?:  从右到左
14 = += -= *= /= %= &= |= ^= <<= >>= >>>= 从右到左

数学函数与常量

数学函数包含在 数学函数包含在Math类中。

– 幂函数

– 三角函数

– 指数函数及它的反函数等

Java还提供了两个常量。 还提供了两个常量。

– Math.PI

– Math.E

若不想在数学方法名和常量名前缀“Math.”,可在源文件顶部加上以下代码即可。

– import static java.lang.Math.*;

类型转换

隐式类型转换

大多数的数值转换是遵循优先级的关系自动完成的。

转换原则如下:

如果两个操作数中有一个是double类型的,则另一个将会转换成double类型。

否则,如果两个操作数中有一个是float类型的,另一个将会转换成float类型。

否则,如果两个操作数中有一个是long类型的,另一个将会转换成long类型。

否则,两个操作数都将转换成int类型。

强制类型转换

强制类型转换的语法:(目标类型)变量名

在进行强制类型转换时,当心丢失数据。

例1:double x=9.987;

int nx=(int) x; //转换后 nx=9

例2:若要把一个浮点数转换成与其最接近的数(即

进行四舍五入)需使用Math.round()方法。

double x=9.987;

int nx=(int)Math.round(x); //结果:nx=10

字符串

Java字符串是Unicode字符的序列,它是组织字符的基

本数据结构,用法类似于字符数组。

有内置的字符串类型,而是在标准Java类库中提供了一

个Java 预定义类String。在Java中,字符串被当作对象来处理。

程序中需要用到的字符串可以分为两大类:

– 创建之后不会再做修改和变动的 不可变字符串String 类;

– 创建之后允许再做 更改和变化的构建字符串StringBuilder。

   String类

  String类的构造方法

创建String的一个对象并进行初始化,需要调用类

String的 的 构造方法,主要有以下创造方法:

① String():创建一个空串

② String (String value)

③ String (char value[])

④ String (char[] ,int startIndex ,int numChars)

⑤ String (byte[] ,byte hibyte)

⑥ String (byte[] ,byte hibyte ,int startIdnex ,intnumChars)

  String类的基本操作

(1) 获得字符串的子串

(2) 串连接(+)

(3) 获取字符串的长度

(4) 检测字符串是否相等

(5) 字符串检索

(6) 字符串与数值的转化

(7) 数值转化为字符

(8) 获得对象的字符串表示

  String 类的API及文档

String 类中包含各类字符串处理的50 多个方法;

使用JDK 在线API文档可以查阅所有标准类及其方法。

-打开浏览器,指向JDK 安装目录下的docs/spi/index.html

StringBuilder类

StringBuilder类的说明

如果需要多个小段字符串连接创建一个字符串时,每次连接字符串时,

都会构建一个新的String对象,既耗时,又浪费空间。

使用StringBuilder类就可以避免这个问题的发生。

步骤:

– StringBuilder builder = new StringBuilder(); ; //create a string builder

– builder.append(ch); //appends a single character

– Builder.append(str); //appends a string

在JDK5.0中引入StringBuilder类,这个类的前身是StringBuffer类。

StringBuilder类的API

(1)分配/ 获取字符串的长度

(2)分配/获取字符串的容量

(3)字符串的检索和子串

(4)字符串的修改

(5)字符串类型转换

 输入输出

  读取输入

通过控制台进行输入时,需要构造一个 通过控制台进行输入时,

需要构造一个Scanner对象,并与“标准输入流”System.in关联。

– Scanner in = new Scanner(System.in);

– 例3-2 InputTest.java p55

Scanner 类定义在java.util包中,因此使用时需将相应的包加载进来。

Scanner 类具体API 见p57。

由于 由于Scanner类输入是可见的,所以不适用于从控制台读

取密码。Java SE 6.0 特别引入Console类实现这个目的。

Console 类具体API 见p57。

  格式化输出

使用System.out.print(x) 将数值x输出到控制台上,

这条命令将以x对应的数据类型所允许的最大非0数字位数打印输出x。

  文件输入与输出

要想对文件进行读取,就需要一个用File对象构造一个Scanner对象。比如:

Scanner in = new Scanner(new File(“myfile.txt”));

要想写入文件,就需要构造一个PrintWriter对象,在构造器中,只需提供文件名

PrintWriter out = new PrintWriter(“myfile.txt”);

控制流程

Java有5种语句:

1.方法调用语句   2.表达式语句  3.复合语句  4.控制语句  5.packege 语句和import语句

条件语句:if语句  switch语句

循环语句:while       do-while      for

中断控制流程语句:break     contine

(注意:Java 中没有goto语句!!!Java中提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。)

返回语句:return value

大数值

如果基本的整型和浮点型数据无法达到要求的精度 ,那么可以使用ava.math 包中的两个类,

BigInteger 和BigDecimal。这两个类可以操作任意长的数字。

BigInteger类实现了任意精度的整数运算

BigDecimal实现了任意精度的浮点运算

 数组

数组是一种数据结构,它是有序数据的集合,数组中的每个元素的数据类型都是相同的。

对元素的确定是由数组名和它的下标实现的,如a[0] 代表数组a的第一个元素,

a[1] 代表数组a的第二个元素,依次类推。

  数组的声明

一维数组格式:数组元素类型[]  数组名字;

二维数组格式:数组元素类型[][][  数组名字;

float[] boy;   double[] girl;  float[][] a; double[][] b;

与C/C ++不同,Java在数组声明时并不为数组分配内存。

在Java中,数组是独立的类,有自身的方法。

一个数组是一个对象,它由基本数据类型组成。

  数组的创建

数组声明后,要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。

如:   boy=new float[5];    int[] age=new int[10];

数字数组创建后,所有数组元素自动初始化为0,不能再更改大小,

boolean 数组创建后数组元素初始化为false;对象数组初始化为null.

一维数组的初始化

int[] smallPrimes = {2, 3, 5, 7, 11, 13};

多维数组的初始化

int[][] magicSquare={  {16, 3, 2, 13 },  {5, 10, 11, 8},{9, 6, 7, 12},{4, 15, 14, 1}  };

  不规则数组

Java可以使用不规则数组,即数组的每一行有不同的长度

在创建不规则数组时,从最高维开始分别为每一维数组分配空间。

 二 实验部分

1、实验目的与要求

(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;

(2)掌握Eclipse集成开发环境下导入Java源程序的过程;

(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;

(4)掌握String类、StringBuilder类、数组类的用法。

2、实验内容和步骤

实验1:编写java 应用程序,输出以下4个表达式的值。


int i=1;

double d=1.0;

(1) 45+45*50%i--

(2) 1.5*3+d++

(3) (true)&&(3>4)

(4) (i>0)||(i<0)

实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。


String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

实验3:更改实验2中s1、s2、s3为StringBuilder类对象,

观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。

public class Try {

    public static void main(String[] args){
         if (args[0].equals("-h"))
            System.out.print("Hello");
        else if (args[0].equals("-g"))
            System.out.print("goodbye,");
          for(int i=1;i<args.length;i++)
            System.out.print("  "+args[i]);
          System.out.println("!");
    }

}

实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:

(1) 新建java project如下图:

(2) 选择File->import->File ystem->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,

点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。

(3) 打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。

(4) 右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,

 结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。

实验6:按照实验5的操作步骤,导入WriteReadFileTest.java示例程序,结合程序运行结果理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。

实验7:按照实验5的操作步骤,导入第3章示例程序,每个示例程序从语法、算法两个角度总结学习内容。

(1)测试Retirement.java,    Retirement2.java,    LotteryOdds.java掌握循环控制结构;

(2)测试BigIntegerTest.java,掌握大数值类的用法;

(3)测试LotteryDrawing.java,掌握数组的用法;

(4)测试CompoundInterest.java,掌握多维数组的用法;

(5)测试LotteryArray.java,掌握不规则数组的用法。

感想:学习了解java的部分基础知识,一步熟悉命令行和IDE两种方式下java程序开发的基本步骤,

掌握Eclipse集成开发环境下导入Java源程序的过程,掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出。

掌握String类、StringBuilder类、数组类的用法。

原文地址:https://www.cnblogs.com/2017xinghui/p/9608633.html

时间: 2024-11-10 15:56:28

201771010136杨野 第二周学习总结的相关文章

20155336 2016-2017-2《JAVA程序设计》第二周学习总结

20155336 2016-2017-2 <JAVA 程序设计>第二周学习总结 教材学习内容 1: GIT版本检测 2: JAVA中基本类型 整数 字节 浮点数 字符 布尔(▲) 通过API可以得知各个类型可存储的数值范围 public class Range {public static void main(String[] args){ //byte.short.int.long的范围 System.out.printf("%d~%d%n", Byte.MIN_VALU

20145301第二周学习总结

20145301第二周学习总结 教材学习内容总结 3.1 类型.变量与运算符 整数 short 2字节,int 4字节,long 8字节 字节 byte 1字节 浮点数 float 4字节,double 8字节 字符 char 2字节(包括字母.汉字) 布尔 boolean 不用在意它的存储空间(只有true/false) 注释 // 单行注释,/ / 多行注释 下图为各类型范围: 常量定义 final加在定义类型之前,表示定义的该变量将不能改变其值,如 final int a=10; 局部变量

20145326《Java程序设计》第二周学习总结

20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对象支持语法的探讨前,对于类型.变量.运算符.流程控制等,这些各种程序语言都会有的基本语法元素,还是要有一定的基础.虽然各种程序语言都有这些基本语法元素,但千万别因此而轻忽它们,因为各种程序语言都有其诞生的宗旨与演化过程,对这些基本语法元素,也就会有其独有的特性. 1. 类型 在java的世界中,并非每个东西都

2017面向对象程序设计(Java)第二周学习总结

2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为第一周学长正在家里吃西瓜吹空调.好了,闲言少叙.我先为你们介绍一下助教的职责,而后再对你们的学习情况进行总结! 身为你们本学期Java课程的助教...之一,我的任务是:指导你们学习,批改我所负责学习小组的实验作业.阅读博文并回复.其他学习小组会有另外三位助教负责.由于我们每周五都会汇总你们的情况,其

20145311 《信息安全系统设计基础》第二周学习总结

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很多表现很好的同学,他们课前准备充分,在课堂上完全没有任何压力,我也意识到了我课前没有花大量时间看书的严重性,所以我下课便去看第三章了,以后也一定要好好看书,找出不懂得问题,课上也要认真向其他优秀同学学习,不懂的问题也要想办法解决. 今天写了PPT上的任务1-9,着实也遇到了很多不会的问题,像是最后的

20145319 第二周学习总结

20145319 <Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,大致包括java语言中的类型,变量,运算符,流程以及基础语法等. 1. 类型 基本类型(每种类型都有其储存范围,如超出范围,即Overflow): 整数:可分为short整数(占2字节),int整数(占4字节),long整数(占8字节)三种,例如,int类型的十进制2其实是以000000000 00000000 00000000 00000000 000000

20165232 第二周学习总结

20165232 第二周学习总结 1:带包的代码如何编译运行 代码编写完毕后,先Javac编译,再用mkdir以打包文件的文件名创建一个新文件夹,之后将编写的字节码文件用co命令拷贝到新的文件夹中,最后再运行. 2:一些知识点总结 第三章基础语法 3.1 类型.变量与运算符 类型 基本类型:整数(short.int.long).字节(byte).浮点数(float.double).字符(char).布尔(boolean) 常用格式控制符号 运算符 ==表示相等,=是指定运算,%运算结果是除法后的

20165223《JAVA程序设计》第二周学习总结

20165223 <JAVA程序设计>第二周学习总结 教材学习内容总结 第二章要点 标识符与关键字 基本数据类型 类型转换运算 输入输出数据 数组 第三章要点 运算符与表达式 语句概述 if条件分支语句 switch开关语句 循环语句 break和continue语句 数组与for语句 教材学习中的问题和解决过程 标识符与关键字 标识符=名字:由字母.下划线.$.数字组成,长度不受限:第一个字符不能是数字字符:区分大小写:不能用关键字:不能是true.false.null java使用的语言: