JAVA核心技术I---JAVA基本程序设计结构
一:讨论一个简单的Java程序
package hello; public class Hello { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("We will not use 'Hello World'!");
} }
注意:
(0)命名统一
源代码的文件名必须与公共类的名字相同
(1)关键字class
关键字class表明Java程序全部内容都包含在类中,这里,只需要将类作为一个加载程序逻辑的容器,程序逻辑定义了程序的行为
(2)命名方法
采用驼峰命名法"ClassName"
(3)main方法
Java语言规范:main方法必须声明public,不过当main不是public时,某些Java解释器依旧可以执行,这是一个不予理会的bug
(4)编译执行
编译:javac 文件名.java ---->类名.class
执行:java 类名(无后缀) ----->注意:可能我们需要到父级目录进行调用 java hello.Hello
(5)println方法
将一个文本行输入到控制台,输出后换行
其实在System.out中也有print方法,不过不会自动换行
(6)注释(同C)
// 行注释
/**/ 段注释
二:基本数据类型
Java是一种强类型语言,不同于Python脚本语言,和C/C++一样必须对每一个变量声明一种类型。其一共有8中基本类型:
4种整型
2种浮点类型
1种表示Unicode编码字符单元的字符类型char
1种表示真值的布尔类型
补充:
Java有一个可以表示任意精度的算术包,通常称为“大数值”,但是不是一种java类型,而是一个java对象
(一)整型
与C/C++不同,java中类型大小五目标平台无关
而且java中没有任何无符号形式的int,long,short,byte类型
(二)浮点型
溢出和出错情况下的三个特殊浮点数值:
正无穷
负无穷
NaN
(三)字符型
Java中,char类型用UTF-16编码描述一个代码单元
(四)布尔类型
true和false
三:变量
(一)变量声明定义
逐一声明每个变量可以很好提高程序可读性 int i,j;不出错,但是不提倡
在java中变量的声明可以放在任何地方,尽量放在靠近变量第一次使用的地方
不同于C/C++,在java中不区分变量的声明和定义
C/C++中
int i = ; 是定义
extern int i; 是声明
(二)常量final
关键字final表示该变量只能被赋值一次,之后不允许修改,一般常量全用大写
final double CM_PER_INCH = 2.54
public static final double CM_PER_INCH = 2.54 声明类常量
在C/C++中使用const作为常量定义。const是java的保留字
四:类型转换
小转大,无丢失,大转小可能出现丢失数据,同大小,类型不同转换有可能有丢失
强制转换
(cast)强制转换
double x = 9.997
int nx = (int)x nx-->9将小数部分截断
注意:强制转换可能会将数值严重丢失精度
五:枚举类型(是一个类)
enum Size {
SMALL,
MEDIUM,
LARGE,
EXTRA_LARGE
}; public class Hello { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub Size s = Size.SMALL;
System.out.println(s);
} }
六:字符串
Java没有内置字符串类型,但是在标准类库中提供了一个预定义类String。每个用双引号括起来的字符串都是一个String实例
String e = "dafaw";
拼接:
.使用+号
.使用join进行路径拼接
String.join("/","C:","pro")--->C:/pro
java不能对字符串直接操作修改
同python一样对于字符串使用常量方式存储,虽然每次都需要创建一个新的字符串才行,但是原来的字符串,可以被编译器实现字符串共享,可以提高效率。
将各种字符串存放在公共存储池中。字符串变量指向存储池中的相应位置。如果复制一个字符串变量,原始字符串与复制字符串共享相同的字符
而且,java设计者认为共享带来的高效率远远高于提取,拼接字符串。一般程序中,很少需要修改字符串,而是往往需要对字符串进行比较
会自动进行内存回收
注意:只有字符串常量是共享的,对于使用+拼接的字符串或者substring等操作产生的结果并不是共享的。只有对于共享的字符串常量,才可以使用==运算符进行检测是否相等
String h = "Hello";
if(h == "Hello") {
System.out.println("equal h"); #可以输出
} if((h+"b")=="Hellob") {
System.out.println("equal hb"); #不可以输出
}
if(h.substring(,)=="Hel") {
System.out.println("equal hs"); #不可以输出
}
空串和Null串
空串有自己的长度0和内容""
if(str.length() == )
if(str.equals(""))
null表示该变量没有和任何对象关联
if(str==null)
码点和代码单元
代码点(Code Point)和代码单元(Code Unit)
char 码点和代码单元
代码点(Code Point):Unicode是属于编码字符集(CCS)的范围。
Unicode所做的事情就是将我们需要表示的字符表中的每个字符映射成一个数字,这个数字被称为相应字符的码点(code point)。
例如“严”字在Unicode中对应的码点是U+0x4E25。
“JAVA核心技术I---JAVA基本程序设计结构的更多相关文章
- java核心技术学习笔记之三程序设计结构
一 基本数据结构 必须包括在类中 必须具备 public static main方法 大小写敏感 二.数据类型 四种整数类型: Int 4字节 short 2字节 long8字节 byte1字节 二种 ...
- java核心技术学习笔记之一程序设计概述
Java 核心技术之一程序设计概述 一. Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...
- Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库 如果想要有奇特的绘 ...
- Java核心技术第八章——泛型程序设计(1)
1.泛型程序设计 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用.例如:不希望为了聚集String和Integer对象分别设计不同的类.(个人觉得此处说的聚集译为:创建一个对象,属性可以为 ...
- java核心技术学习笔记之一程序设计环境
一术语 JDK:Java Delelpment Jit JRE:Java Runtime Environment 二.安装jdk1.8.0_25 设置环境变量(建议直接安装在C盘下),使用:隔开 C: ...
- java核心技术卷一
java核心技术卷一 java基础类型 整型 数据类型 字节数 取值范围 int 4 +_2^4*8-1 short 2 +_2^2*8-1 long 8 +_2^8*8-1 byte 1 -128- ...
- Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...
- Java核心技术卷阅读随笔--第3章【Java 的基本程序设计结构】
Java 的基本程序设计结构 现在, 假定已经成功地安装了 JDK,并且能够运行第 2 章中给出的示例程序.我们从现在开始将介绍 Java 应用程序设计.本章主要介绍程序设计的基本概念(如数据类型.分 ...
- Java核心技术-Java的基本程序设计结构
1.一个简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.pring ...
- 重新学习Java——Java基本的程序设计结构(二)
上一节简单回顾了Java基本的一些程序设计的知识,这一节将继续根据<Java核心技术>这本书,进行这方面知识的复习与探索. 1. 字符串 Java字符串实际上就是Unicode字符序列.例 ...
随机推荐
- 团队冲刺——Three
第三天计划: 季方:学习爬虫的操作,以便后续功能实现: 司宇航:对当天实现的功能进行总的测试: 王金萱:数据库内数据的增删改查以及查看团队博客界面的实现: 马佳慧:学习css初步,进行页面绘制: 第二 ...
- Struts2 核心流程
1.Struts2架构图 这是Struts2官方站点提供的Struts 2 的整体结构. 执行流程图 2.Struts2部分类介绍 这部分从Struts2参考文档中翻译就可以了. ActionM ...
- 软工 · 第十二次作业 - Beta答辩总结
福大软工 · 第十二次作业 - Beta答辩总结 写第十二次的时候操作失误直接在Beta版本的博客里改了...第七次冲刺的作业链接补在这里 Beta(7/7) 组长本次博客作业链接 项目宣传视频链接 ...
- 一个简单的加减乘除自动生成小程序(JAVA)
在学习软件工程的时候,遇到一个这样的问题,一个程序员的儿子上小学二年级,老师让家长每天出30道加减题目给学生做,由于家长是个程序员,所以呢,他就自己写了个程序实现,我们可爱的老师于是也叫我们写了一个类 ...
- Internet History, Technology and Security (Week5.2)
Week5 Now, I want to make it real clear that, when I give you a 15 minute video of an amazing invent ...
- SpringMVC运行原理浅析
SpringMVC是主流的J2EEWEB层框架,SpringMVC是Sping家族中一个重要的产品.下面给出SpringMVC的运行原理.springmvc和spring无需通过中间层进行整合,spr ...
- iOS- 利用AFNetworking3.0+(最新AFN) - 实现文件上传
官方建议AFN的使用方法 0.导入框架准备工作 •1. 将AFNetworking3.0+框架程序拖拽进项目 •2. 或使用Cocopod 导入AFNetworking3.0+ •3. 引入 ...
- jQuery之_事件绑定与解绑
使用jQuery实现事件的绑定和解绑 就是所谓的事件操作. 1. 事件绑定(2种): * eventName(function(){}) 绑定对应事件名的监听, 例如:$('#div').click( ...
- 项目复审—Alpha阶段
项目复审-Alpha阶段 小组的名字和链接 优 点 缺 点 排名 [别看了你没救队]http://www.cnblogs.com/liaoyujun233/p/9016362.html 此队优点很多, ...
- 在Delphi中通过OLE方式写Excel文件
报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...