目标:

1. 标识符、关键字和类型介绍

2. 如何构建类

1.java代码中的注释

作用:使部分内容只为程序员可见,不为编译器所编译、虚拟机所执行

位置:类声明前后、方法声明前后、属性声明前后、方法体中。几乎可以在一个源文件任意位置,但不能在一个关键字字符中插入注释

类型:

1) 单行注释:

//text    ——从 // 到本行结束的所有字符均作为注释而被编译器忽略

2) 多行注释:

/*text*/   ——从 /* 到 */ 间的所有字符会被编译器忽略

3) 文档注释:

/**test*/   ——从"/**"到"*/"间的所有字符会被编译器忽略。当这类注释出现在任何声明(如类的声明、类的成员变量的声明或者类的成员方法的声明)之前时,会作为JavaDoc文档的内容;

@author     类的作者

@version    类的版本

@param      方法的参数

@return     方法的返回类型

@exception  方法抛出的异常

@see        另外参照...

@since      从什么时候开始使用的

例如:

package com.cnblogs.chap02;

/**

* this is my CommentTest Class

*@authorcnblogs

*@version 1.0

*@since JDK1.6

* */

public class CommentTest{

//表示这个人的名字

private String name;

/**

*this is a age of person

*

* */

private int age;

/**

*@param name :a name of person

*@exception null

* */

public void setName(String name){

this.name = name;

}

/**

*@return 没有返回类型

* */

public String getName(){

return this.name;

}

public static void main(String[] args){

/*

CommentTest ct = new CommentTest();

ct.setName("tom");

String temp = ct.getName();

System.out.println(temp);

*/

}

}

使用javadoc进行编译:

javadoc -d doc src/CommentTest.java

如果想显示出author和version

javadoc -d doc -author -version src/CommentTest.java

或者:

javadoc -d doc -author -version src/*.java

2. 分号、块和空格

1) 每个语句短语以;结束 ;

类的声明最后不需要加;

public class Hello{ .... }

方法的声明最后不需要加;

public class Hello{

public void go(){....}

}

属性的声明最后一定要加;

public class Hello{

int id;

private String name;

public int age;

public void go(){....}

}

2) 代码段以{}结束;

常见的有:

类的声明后加{}

方法的声明后加{}

注意:代码的{}后面都不加;

3) 空白处(空格、tab键、新行和回车(续航符))是无关紧要的。

3. 标识符

类、方法和变量的名字

1) java标识符以字母、_和$开头,不能以数字开头,后跟字母、数字、“_”和“$”的组合;

2) 大小写敏感

3) 没有长度限制。

4)不能是java中的关键字

举例:  合法标识符       非法标识符

try1                   try#

GROUP_7        7GROUP

openDoor          open-door

boolean1           boolean

4. 关键字

Java语言的关键字是程序代码中的特殊字符。

包括:

. 类和接口的声明——class, extends, implements, interface

.

包引入和包声明——import, package

.

数据类型——boolean, byte, char, double, float, int, long, short

.

某些数据类型的可选值——false, true, null

.

流程控制——break, case, continue, default, do, else, for, if, return, switch, while

.

异常处理——catch, finally, throw, throws, try

.

修饰符——abstract, final, native, private, protected, public, static, synchronized, transient, volatile

.

操作符——instanceof

.

创建对象——new

. 引用——this, super

.

方法返回类型——void

.

Java语言的保留字是指预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。

.

所有关键字都是小写;

. friendly, sizeof不是Java语言的关键字,这有别于C++;

. 程序中标识符不能以关键字命名;

5. 基本类型:

Java语言把数据类型分为基本类型和引用类型

基本类型:float double byte short int long char boolean

引用类型:类类型 接口类型 数组类型

计算机中:

1字节=8位

0000 0001

1字符=2字节

整型:

byte  8位

short 16位

int   32位

long  64位

6.boolean类型

boolean类型的值为 true或者false,在JVM中会转换为0或者1

boolean flag = ture;

boolean bool = false;

7.文本数据类型——char和String

1) 字符编码

Java语言对文本字符采用Unicode字符编码。由于计算机内存只能存取二进制数据,因此必须为各个字符进行编码。

所谓字符编码,是指用一串二进制数据来表示特定的字符。常见的字符编码包括:

a. ASCII字符编码

ASCII--Amecian Standard Code for Information Interchange(美国信息交换标准代码). 主用于表达现代英语

和其他西欧语言中的字符。它是现今最通用的单字节编码系统,它只用一个字节的7位,一共表示128个字符。

b. ISO-8859-1字符编码

又称为Latin-1, 是国际标准化组织(ISO)为西欧语言中的字符制定的编码,用一个字节(8位)来为字符编码,与

ASCII字符编码兼容。所谓兼容,是指对于相同的字符,它的ASCII字符编码和ISO-8859-1字符编码相同。

c. GB2312字符编码

它包括对简体中文字符的编码,一共收录了7445个字符(6763个汉字+682个其他字符. 它与ASCII字符编码兼容。

d. GBK字符编码

对GB2312字符编码的扩展,收录了21886个字符(21003个字符+其它字符), 它与GB2312字符编码兼容。

e. Unicode字符编码:

由国际Unicode协会编制,收录了全世界所有语言文字中的字符,是一种跨平台的字符编码。UCS(Universal Character Set)是指采用Unicode字符编码的通用字符集。

Unicode具有两种编码方案:

用2个字节(16位)编码,被称为UCS-2, Java语言采用;

用4个字节(32位)编码,被称为UCS-4;

f. UTF字符编码

有些操作系统不完全支持16位或32位的Unicode字符编码,UTF(UCS Transformation Format)字符编码能够把

Unicode字符编码转换为操作系统支持的编码,常见的UTF字符编码包括UTF-8, UTF-7和UTF-16.

2) char的几种可能取值

Java语言采用UCS-2字符编码,字符占2个字节。

字符a的二进制数据形式为 0000 0000 0110 0001

十六进制数据形式为 0x0061

十进制数据形式为 97

以下4种赋值方式是等价的:

字符用单引号引着(英文输入法下面的单引号)

字符串用双引号引着

char c = 'a';

char c = '\u0061';

//设定"a"的十六进制数据的Unicode字符编码

char c = 0x0061;

//设定"a"的十六进制数据的Unicode字符编码

char c = 97;

//设定"a"的十进制数据的Unicode字符编码

其他一些例子:

char a1 = 'a';

//一个字母

char a2 = '中';

//一个中文字符

char a3 = '\u0060'

//unicode编码

3) 转义字符

Java编程人员在给字符变量赋值时,通常直接从键盘输入特定的字符,而不会使用Unicode字符编码,因为很难记住各种字符的Unicode字符编码值。

对于有些特殊字符,比如单引号,如不知道它的Unicode字符编码,直接从键盘输入编译错误:

char c = ''';           //编码出错

为了解决这个问题,可采用转义字符来表示单引号和其他特殊字符:

char c = '\'';

char c = '\\';

转义字符以反斜杠开头,常用转义字符:

\n           换行符,将光标定位到下一行的开头;

\t           垂直制表符,将光标移到下一个制表符的位置;

\\           反斜杠字符

\'           单引号字符

\"           双引号字符

8. 整数类型

byte, short, int和long都是整数类型,并且都是有符号整数。与有符号整数对应的是无符号整数,两者的区别在于

把二进制数转换为十进制整数的方式不一样。

. 有符号整数把二进制数的首位作为符号数,当首位是0时,对应十进制的正整数,当首位是1时,对应十进制的负整

数。对于一个字节的二进制数, 它对应的十进制数的取值范围是-128 - 127。

. 无符号整数把二进制数的所有位转换为正整数。对于一个字节的二进制数, 它对应的十进制数的取值范围是0 - 255。

在Java语言中,为了区分不同进制的数据,八进制数以“0”开头,十六制以“0x”开头

例如:

一个字节的二进制数      八进制数         十六进制数        有符号十进制数       无符号十进制数

-------------------------------------------------------------------------------------------------

0000 0000                 0000             0x00              0                    0

1111 1111                 0377             0xFF              -1                   255

0111 1111                 0177             0x7F              127                  127

1000 0000                 0200             0x80              -128                 128

整形型: 默认数据类型是int

byte (8位)

byte a = 10;

short (16位)

short a = 20;

int (32位)

int a = 30;

long (64位)

long a = 40L;

long   b = 50l;

声明的时候后面要加大写L或者小写l,建议加上大写的L,因为小写的l和数字1很像似

9. 浮点类型

java中表示小数的数据类型

浮点型:默认数据类型是double

float (32位)

float a = 10.3f;

double (64位)

double a = 10.8d;

10. 变量的申明和赋值

程序的基本功能是处理数据

程序用变量来表示数据;

程序中必须先定义变量才能使用;

定义变量是指设定变量的数据类型和变量的名字,

定义变量的基本语法为:

数据类型  变量名;

Java语言要求变量遵循先定义,再初始化,然后使用的规则。变量的初始化是指自从变量定义以后,首次给它赋初始

值的过程。例:

int a;          //定义变量a

a = 1;          //初始化变量a

a++;            //使用变量a

int b=a;        //定义变量b, 初始化变量b, 使用变量a的值;

b++;            //使用变量b

11.基本类型间的转换:

隐式转换:(不需要我们做什么,JVM自动转换)

byte a = 10;

int b = a;

显示转换:(需要我们手动写上转换的类型)

int a1 = 10;

byte b1 =(byte)a1;

byte a = 1;

byte b = 2;

int c = a+b;

byte c2 = a+b;

float a = 8.9f;

double b = a;

float a; 变量的声明

float a = 8.9f; 变量的声明并且赋值

double b = 10 - a;

double a = 8.9;

double b = 10 - a;

报错:

double a = 8.9;

float b = 10 - a;

12. 推荐命名规则

1) 类名以大写字母开头;

Hello Person Teacher  TypeTest

2) 接口名以大写字母开头;

Eat Fly

3) 方法名以小写字母开头;

say go doSomething

4) 变量名以小写字母开头;

name age myName myAge

5) 常量名全部大写,多个单词以"_"连接;

FILE_TYPE  PERSON_TITLE

13. 理解对象

面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的

子系统。面向对象的开发方法将软件系统看成各种对象的集合,接近人的自然思维方式。

对象是对问题领域中事件的抽象。对象具有以下特性:

1) 万物皆为对象。问题领域中的实体和概念都可以抽象为对象。例如学生,成绩单、教师、课和教室。

2) 每个对象都是惟一的。正如世界上不存在一模一样的叶子。

3) 对象具有属性和行为。

例如小张,性别女,年龄22,身高1.6m, 体重40kg, 能够学习,唱歌。小张的属性包括姓名、性别、年龄、身高和

体重,行为包括学习、唱歌。

例如一部手机,牌子是诺基亚、价格是2000元,银白色,能够拍照、打电话和收发短信等。这部手机的属性包括品

牌类型type、价格price和颜色color,行为包括拍照takePhoto(),打电话call(),收发短信receiveMessage()和发短

信sendMessage().

4) 对象具有状态。状态是指某个瞬间对象的各个属性的取值。对象的某些行为会改变对象自身的状态,即属性的取值。

例如小张本来体重为40kg,经为减肥后,体重减到45kg.

肥胖状态: 40kg

|

| 减肥行为

|

肥胖状态: 35kg

5) 每个对象都是某个类的实例。小张和小王都属于学生类、中国和美国都属于国家类、中文和英文都属于语言类。

类是具有相同属性和行为的对象的集合。

同一个类的所有实例都有相同属性,但属性取值不一事实上相同,但是它们的状态不一定相同。例如小张和小王都属

于学生类,都有姓名、性别、年龄、身高和体重这些属性,但是他们的属性取值不同。

同一个类的所有实例都有相同行为,意味着它们具有一些相同的功能。

14. 创建类

类是一组具有相同属性和行为对象的模板。面向对象编程的主要任务就是定义对象模型中的各个类。

package sample;

public class Teacher {

/**attributes of a teacher*/

private String name;

private int age;

private double salary;

/** Creates a new instance of Teacher */

public Teacher(String name, int age, double salary) {

this.salary = salary;

this.age = age;

this.name = name;

}

/**operations on properties */

/** get the name of this teacher */

public String getName() { return name; }

/**get the salary of this teacher */

public double getSalary() { return salary; }

/**get the age of teacher teacher */

public int getAge() { return age; }

……

}

代码解析:

1) package sample;

包声明语句,将Java类放到特定的包中,便于类的组织、权限访问和区分名字相同的类。

2) public class Teacher {...}

类的声明语句,类名为Teacher, public修饰符意味着这个类可以被公开访问;

声明类的格式:

class 类名 {

类内容

}

3) private String name;

类的属性(也称为成员变量)的声明语句;Teacher类有一个name属性,字符串类型,private修饰符意味着这个属性

不能被公开访问。

4) public String getName() { return name; }

方法的声明语句和方法体

方法名为getName,不带参数,String表明返回类型为String。public表明这个方法可以被公开访问。getName后紧跟

的大括号为方法体,代表getName的具体实现。

声明方法的格式:

返回值类型 方法名 (参数列表) {

方法体

}

返回值类型是方法的返回数据的类型, 如果返回值类型为void, 表示没有返回值。

方法名是任意合法的标识符;

参数列表可包含零个或多个参数,参数之间以逗号","分开。

方法体每个语句用";"结束;

方法体中使用return语句返回数据或结束本方法的执行;

注:不介绍构造方法。在面向对象章节会提到。

15. 创建实例

public static void main(String[] args) {

Teacher gzhu = new Teacher("George Zhu", 30, 10000);

System.out.println("Teacher: " + gzhu.getName());

System.out.println("\tAge: " + gzhu.getAge());

System.out.println("\tSalary: " + gzhu.getSalary());

}

main()方法是Java应用程序的入口点,每个Java应用程序都是从main()方法开始运行的。作为程序入口的main()方法必须同时符合以下几个条件:

. 用public static修饰;

. 返回类型为void;

. 方法名为main;

. 参数类型为String[];

包含main方法的类又叫主程序类。

类创建好之后,通过new关键字创建具体对象。它有以下作用:

. 为对象分配内存空间,将对象的实例变量自动初始化为其变量类型的默认值;

. 如实例变量显示初始化,将初始化值赋给实例变量;

. 调用构造方法;

. 返回对象的引用;

写了这么多,可能比较抽象化,对于新手小白来说,比较难懂,但只是学习core Java的第二天,在后续的文章中小编就会带领大家继续学习 CoreJava !

其实小编是一个培训班学习的Java编程,这些概念也是从那里学习过来再加上后面积累所写出来的,真心希望选择编程这条路后,大家可以坚定不移一直走下去!

坚持当初的初衷,或者是当初的汗水(包括学费),俗话说:“贵在坚持,实践是检验真理的唯一标准”,不管什么事,有思路就去实践,人生在世难免得做点什么!!!

core java作者_coreJava_Day2(基础Java学习第二天)相关推荐

  1. Java数字图像处理基础-------Java Swing简单使用,图形绘画---画五角星

    Java数字图像处理基础-------Java Swing简单使用,图形绘画-画五角星 一:简介 要画出五角星出来,我们只需要在面板上产生5个点,然后把这5个点进行连接就可实现: 二:代码演示 imp ...

  2. Java的编程基础-----Java中二进制与十进制的转换

    Java的编程基础-----Java中二进制与十进制的转换 文章目录

  3. 零基础学Python|Python基础语法学习第二天

    ​ 作者主页:编程千纸鹤作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享收藏点赞不迷路 关注作者有好处文末 ...

  4. mongodb java数组_MongoDB 基础java数据类型

    mongodb的java数据类型有 Object Ids 自动ID Regular Expressions 正则表达式搜索记录 Dates/Times 时间 Database References 数 ...

  5. Java并发编程 基础知识学习总结

    Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容,这部分的内容我也是反复学习了好几遍才能理解.本篇博客梳理一下最近从<Java 并发编程的艺术>和他人的博客学习Java并发 ...

  6. java objective-c,Objective-C基础教程学习笔记(附录)从Java转向Objective-C

    Cocoa提供了一个名为NSPredicate的类,它用于指定过滤器的条件.可以创建NSPredicate对象,通过该对象准确地描述所需的条件,对每个对象通过谓词进行筛选,判断它们是否与条件相匹配. ...

  7. 1.3 机器学习基础-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.2 偏差/方差 回到目录 1.4 正则化 机器学习基础 (Basic "Recipe" for Machine Learning) 上节课我们讲的是如 ...

  8. -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器...

    集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别?                 A:长度区别                  ...

  9. java三板斧_JAVA基础学习 三板斧

    JAVA基础学习 -1 三板斧 1. 引子 最近因为工作需要,开始学习JAVA,我之前常用的编程语言是C,C#,C++,基本没有用JAVA,JAVA需要从基础开始学习了. JAVA是从C++优化而来: ...

最新文章

  1. 5行代码就能入门爬虫?
  2. python requests text content_python request text 和 content的区别
  3. windows 如何使用4GB(开启3GB和PAE)
  4. CNCF推出云原生网络功能(CNF)Testbed
  5. 安卓开发fragment报错_android开发 Fragment嵌套调用常见错误
  6. 在vue中使用代理地址出现将代理拦截地址拼接到了接口请求中的情况
  7. django出现 CSRF cookie not set
  8. c语言 typedef_C Typedef-能力倾向问题与解答
  9. android常用网址
  10. 计算机网络学习笔记(27. Email应用概述)
  11. python 微信数据_python 处理微信对账单数据的实例代码
  12. java学生管理系统
  13. js读取excel文件
  14. 安装sqlserver 2017安装 需要安装oracle JRE7 更新 51(64位)或更高版本(已解决)
  15. Python2.6+PyQt4.8+eric4+汉化+开发教程
  16. 基于Ziegler-Nichols法的PID参数整定
  17. Mac上有哪些好用的写作软件?四类写作软件总有一款适合你!
  18. VVC系列(三)xCompressCTU、xCompressCU和xCheckModeSplit解析
  19. 程序员应当正确突破英语障碍
  20. 【总结】从0到1的项目经历

热门文章

  1. 海洋工作室——网站建设专家:扁鹊三兄弟的故事 与 目前中国现状惊人的相似!...
  2. Excel打开显示“就绪”不显示内容解决方法
  3. maya餐具图片_MAYA动画场景制作
  4. 钉钉小程序使用部署流程
  5. 被女友吐槽不细心不关心她?教你用Python感知女友的情绪变化(连节日祝福都帮你自动发送)
  6. js去除 html 中 input 的readOnly(只读)属性
  7. LGV - 求多条不相交路径的方案数
  8. 工行聚合支付对接流程及测试
  9. ITIL 4 Foundation题目-3
  10. 问答 50m带宽的实际速率是多少