本期作业:将你的姓氏的Unicode码用程序显示出来。

上一章节中我们配置了环境变量,编写了第一个java程序“hello,world”(java从小白到工程师--基础篇(一) ),今天我们继续学习基础知识。本系列面对纯小白,故添加了一些常识性的知识点。

计算机常用快捷键:
ctrl+c 复制
ctrl+v 粘贴
ctrl+A 全选
ctrl+S 保存
ctrl+z 撤回
ctrl+Y 前进
Alt+Tab 切换任务
ctrl+D 删除整行(eclipse才能用)
ctrl+Alt+Del或者ctrl+Shift+Esc 任务管理器

使用工具eclipse开发时,我们会经常使用到注释功能,注释就是对代码进行解释,或者进行标记(eclipse下载地址)。常用的注释有三种:

1、单行注释

2、多行注释

3、doc注释

注释的内容只会在源码中可见,并不会像上节课我们写的内容那样被编译。注释在eclipse中的使用方法如下:

注释:
单行注释: // 快捷键:ctrl+/
单行或多行注释: /* 注释的内容 */快捷键:多行注释ctrl+shift+/
doc注释 /** 可用于文档化处理的单行或多行注释 */快捷键:alt+shift+j
@author 对类的说明 标明开发该类模块的作者
@version 对类的说明 标明该类模块的版本
@param 对方法的说明 对方法中某参数的说明
@return 对方法的说明对方法返回值的说明
@exception 对方法的说明对方法可能抛出的异常进行说明
@Time 对时间说明

需要说明的是,doc注释的内容是可以自定义的,这里只列举了几个。

java的分隔符及分隔符的作用(注意!必须全是英文符号):

Java分隔符组成:
分号-";" 逗号-","     空格-" ",     圆点-".",    花括号-"{"及"}"
Java分隔符作用:
Java语句必须以分号作为结束标记,for循环语句中使用分号来分隔不同的成份。 
逗号可以在方法声明或调用时的参数列表中用于分隔多个参数,也可在一条声明语句中同时声明多个属性或局部变量时起分隔作用。
Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。 
圆点用于访问对象成员(属性或方法)时标明调用或隶属关系,其格式为"对象名.对象成员"。
花括号用于构造语句块(现在看不懂的没关系,以后会讲到,先不用纠结)。

前阵子有一对家长给小孩取了一个四个字的名字,被拒绝上户口,因为孩子必须随父亲姓或者母亲姓。同样的道理,在java中也有一些命名规则:

Java标识符的命名规则:

应以字母、下划线(_)、美元符($)开头,后跟字母、下划线、美元符或数字,Java标识符大小写敏感,长度无限制

下面做了一个简单是示范:

合法的标识符

不合法的标识符

HelloWorld

class

DataClass

DataClass#

_983

98.3

$bS5_c7

Hell World

说到取名字,还有很多事。比如孩子取名毛*东,江*民那肯定是不行的。在古代也有避讳一说。比如明朝的猪不叫猪,叫“豕”。在java中也有一些特殊意义的字符是不可以占用的,那这些词就是关键词:

Java语言中一些被赋以特定的含义、并用做专门用途的单词称为关键字(Keyword)。
所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字 。
因为java是继承了c的衣钵,所以goto和const 也收录了但是从未使用,但依然被作为Java关键字保留。
true,false虽被用做专门用途,但不是Java关键字。

Java关键字表

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

null

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

以上 表格中的关键字现在暂时不用背,因为我们会一个个地接触到(其中有些已经在上节课接触过)。现在作为了解即可。

java中的数据类型非常严格,所以基础课程中相当重要的一个任务就是必须熟练记忆java的数据结构。数据类型分为八种基本数据类型和引用数据类型。本节课的重点内容是基本数据类型。

下面的数据结构的一个结构图

基本数据类型:

基本类型(Primitive Type)的数据只能保存单一的值,因此也被称为原始类型、或简单类型。
Java中定义了四类/八种基本数据类型:
逻辑型 -- boolean
文本型 -- char
整数型 -- byte, short, int, long
浮点型 -- float, double

朗读并背诵全表

数据类型

位数

字节

取值范围

byte

8

1

-128~127

short

16

2

-32768~32767

int

32

4

-2^31~2^31-1

long

64

8

-2^63~2^63-1(L)

float

32

4

float类型有后缀F

double

64

8

char

16

2

'\u0000'~'\uFFFF'(Unicode码)

bolean

1

1

true /false

下面将进入本节内容的难点,数据类型的转换:

1.程序中经常遇到要将数据类型进行转换的情况 (如:在一个表达式中存在不同类型的操作数时),      Java的数据类型转换比C控制得更为严格
2.数据类型转换的两种情况:
1、自动类型转换
2、强制类型转换

1.自动类型转换也称作隐式类型转换;
2.将一种类型的变量赋值给另一种类型的变量时,只需要满足一下条件就会发生自动类型转换:
1、两种类型相互兼容
2、目标类型大于源类型(参考上表,类型提升)
可在安装好的eclipse中file-new-project-java project-next,取名,finish-展开项目,在src下右击new package,取个任意的名字,再在该包下右击新建一个class,命名时首字母大写,然后再敲上上节课的内容,如图所示:

目录结构如下所示:

你可以到工作目录下查看,其实就是一个个文件夹。

然后可以在main方法的花括号内写下以下测试内容,增加感受。

char ch =  'a' ;(char只能是单个字符)
int num = ch ;
float f = num ;
double d = f ;
//类型转换自动发生,无需显式说明

我们可以看到,程序并没有显示有任何异常或者错误,说明例子中的几种类型是可以相互兼容及转换的。

类型提升的规则如下:

1.有类型提升的情况下,编译器将自动进行类型转换,否则就要进行强制类型转换;
2.类型提升应遵循如下规则:
1、两种类型必须兼容,且目标类型大于源类型,例如:
byte、char、short都可以提升为int型。

2、对于表达式而言,其最终结果将会与表达式中最高的数据类型相同

强制类型转换:

1.强制类型转换也称作显式类型转换;
2.如果被转换的值的数据类型大于其目标类型,将会失去部分信息;
eg:
int x = 65;
char ch = x;
这样的语句将报错,因为char类型精度低于int类型,编译器无法将其自动转换,只能进行强制转换。
int x = 65;
char ch = (char)x;

相当于别人问你月薪多少,你说不到三万,没有任何问题,问具体是多少,你说1200,这里就发生了数据精度的变化,可以结合两个例子感受一下。我们在工具中依然写下上面的案例,看一下效果:

可以清楚地看到此时编译器给了一个错误提示,鼠标放到红线上可以看到出错的内容以及修正方法;

加上一个(char),就不再报错了。此时的黄线表示一个警告,提示我们定义的变量并没有使用,暂时可以不用管。

补充:

转义字符:
\" 双引号
\' 单引号
\t 制表符
\n 换行符 \r 回车(一般两个连用)

好了,可以做作业了

ps:未经博主许可,请勿转载

java从小白到工程师--基础篇(二)相关推荐

  1. java从小白到工程师--基础篇(三)

    本课要点及难点: 分支:if; if else; if else if 注:在java中,花括号如果不写会默认只执行第一行!切记!!! 开关语句:switch case 循环语句:for:while: ...

  2. 2.Java 面试题整理(基础篇二)

    41.heap 和 stack 有什么区别 答:栈是一种线形集合,其添加和删除元素的操作应在同一段完成.栈按照后进先出的方式进行处理.堆 是栈的一个组成元素. 补充网上: heap是堆,stack是栈 ...

  3. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  4. 用Kotlin撸一个图片压缩插件-插件基础篇(二)

    简述: 前两天写了篇用Kotlin撸一个图片压缩插件-导学篇,现在迎来了插件基础篇,没错这篇文章就是教你如何一步一步从零开始写一个插件,包括插件项目构建,运行,调试到最后的上线发布整个流程.如果你是插 ...

  5. invader的java学习第三天基础篇

    invader的java学习第三天基础篇 一.整数的取值范围表 类型名称 数据类型 所占空间 表数范围 字节型 byte 1字节 -128-127 短整型 short 2字节 +-3w(-2^15-2 ...

  6. invader的java学习第五天基础篇

    invader的java学习第五天基础篇(持续更新中-) 一.位运算符 ^.&.|.~.>>.<<.>>>,位运算符就是基于二进制直接进行运算(0为f ...

  7. invader的java学习第四天基础篇

    invader的java学习第四天基础篇(持续更新中-) 一.类型转换 自动转换(数值之间在进行四则运算时,数据类型会自动向大类型靠拢) byte num=10; short a=num; Syste ...

  8. mysql 基础篇(二) 账号、权限管理

    mysql 基础篇(二) 账号.权限管理.备份与还原 建立账号密码: Grant all on test.* to "cj"@"localhost" ident ...

  9. java玩转区块链-基础篇-账户

    java玩转区块链-基础篇--账户 java环境配置 基础概念 账户 maven包引用 创建账户代码 代码解释 (1) (2) (3) (4) 可以不让搞,但是不允许你不会 java环境配置 jdk版 ...

最新文章

  1. C++ 函数模板和排序的函数模板——学习笔记
  2. 爱奇艺一程序员用 10 万元“买”了个北京户口
  3. 4 信道编码之循环码
  4. 串口 驱动 热敏打印机_菜鸟裹裹x 快麦打印机联合发布SC310,实现共享智能打印...
  5. openstack之neutron linuxbridge + vlan组网
  6. BCE loss和 CE理解
  7. python 角度传感器模拟_python树莓派红外反射传感器
  8. dev控件swiftplot图滚动方法_无限轮播图使用Scroller就这么简单
  9. Ribbon负载均衡原理,Feign是如何整合Ribbon的?
  10. 计算机辅助翻译入门试题,2011级计算机辅助翻译考试试题纸(A卷)
  11. Wpf之无法获取鼠标点击事件
  12. Annie——一个简洁强大的轻量级视频下载神器
  13. WINCE Activesync 同步问题
  14. html caption属性,HTML caption align 属性 | 菜鸟教程
  15. ASEMI低压降肖特基二极管怎么检测,低压降肖特基有什么优势
  16. 芯片自主注释流程代码
  17. 基于xsh的vbs脚本的使用(语法)
  18. Android相机拍照后,对照片模糊的处理;对照片旋转90度的处理
  19. 【Golang】golang开发微信公众号网页授权功能
  20. 构建Docker镜像时处理'Configuring tzdata'交互输入

热门文章

  1. 三菱880彩铅和uni的区别_彩铅测评 | 清新风格的花卉更有层次感?来试试三菱uni彩铅!...
  2. divi模板下载_优雅主题的Divi 3.0是力量与简约的结合
  3. JavaWeb学习-案例练习-图书管理前台-10- 图书详情页的实现
  4. iphone计算机错误代码,iPhone刷机报错怎么办?你需要这份iPhone报错代码故障判断...
  5. WIFI与移动网络下IP地址是否使用NAT
  6. 再就业工程--写在南京摩托罗拉研发中心被关闭之时
  7. 电脑主板不能保存CMOS的问题及解决方法
  8. 张小龙谈移动互联网产品设计原则
  9. java判断一个字符串中有几个字母和数字
  10. 判断一个网页是在哪里打开的( ios,Android,微信)