`
dumylove
  • 浏览: 2573 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

j2se培训第二天内容

 
阅读更多
第一节课

1.标识符与关键字

     1.1我们在写程序代码时,会在程序中定义一些名字,比如果类名
class 类名{

}
在程序中可以由开发人员起名字的地方就叫标识符

标识符的组成:由数字0-9 ,字母a-z A-Z ,下划线 _ ,$美元符组成.不能以数字开头.
长度无限制,不能包含空格.

class HelloWorld
{

}

      1.2简单说就是特殊的标识符,它是由java程序在创建过程中定义的一些具有特定意义的标识符

2.常量
其值不可以改变的量

在java中有这样几种常量
1.整型常量    10  1000  10000    -10
2.浮点常量    1.234   -12.34
3.布尔常量    true   false   只有这两个值
4.字符常量    用单引号引起的单个字符   '5'
5.字符串常量  用双引号引起的内容
6.null常量    代表空  引用类型的默认值.

3.整型常量的进制表示形式

二进制   只有0 1,逢2进1
八进制   只有0-7,逢8进1        以0开头
十六进制 有0-9  a-f  逢16进1   以0x开头
十进制   有0-9    逢10进1

第二节课
关于进制问题,进制之间的一个相互转换

1.进制关系

8进制的一个值可以用3个2进制来描述
16进制的一个值 可以用4个2进制来描述

2.进制转换
2.1
10进制转换成2进制:就是不断的除以2,得到其余数的倒序.
2进制转换成10进制:就是将二进制数从低位开始,不断乘以2的n次方,n从0开始,每次增加1
2.2
10进制转换成8进制
1.可以不断的除以8 
2.先将10进制转换成2进制制,3个2进制表示一个8进制数 

8进制转换成10进制
1.可以不断乘8的n次方
2.先将8进制转换成2进制,在转换成10进制


关于2进制转换10进制快捷记忆

记住8421,如果当前2进制位上值为1,将其对应的数相加就得到了10进制值

如果是一个10进制数,你通过将对应的8421值时行组全,如果能得到,就将其对应位置上赋值为1,其它位置为0

        2.3    
10进制转换成16进制
将10进制转换成2进制,4个2进制转换成一位16进制  注意是 10为A。。。。15为F
16进制转换成10进制
将16进制每一位转换成4个2进制,在转换10进制.

第三节课

1.变量  其值可以改变的量

定义变量的格式:

数据类型  变量名 =  值;

int     x   =   10;


什么时候使用变量?

在编码过程中,如果当前值不确定,我们就可以使用变量.



java中也有变量,在对其进行赋值操作时要与其值匹配,定义变量后,可以通过变量名来操作这这个值.
变量是用作用域的,我们现在可以简单理解成在哪个大括号内声明的,这个变量就在这个大括号内有效,
并且,在一个作用空间中不可以有重名的变量


java中的数据类型  分两大类   基本类型   引用类型

我们现在只研究基本类型

分成四类八种

1. 整型  
byte 1字节   8位  因为java中的数是有正负,所有byte表示的最大值是127,最小值是-128  
short   2字节  16位    2(15)-1   -2(15)      
int     4字节  32位    2(32)-1   -2(31)
long    8字节  64位    2(63)-1   -2(63)
整型数据默认值   是 0
整型默认类型   int
 
2. 浮点型 float  double

float    4字节  32位
double   8字节  64位

double 与float比较精度更高

注意:在定义float类型数据时,必须在后面加上F (f) ,这样才可以代表是float类型

浮点型默认类型是double  默认值 0.0

3. 字符型 char

char  2字节  16位

单引号引起的单个字符

java中的char是否要以描述一个汉字,为什么?
1.一个汉字在内存中占两个字节  char就是两个字节
2.java中采用的字符编码是unicode编码,它是一种字符编码.


4. 布尔型 boolean
它只有true,false 

没有明确规定其所占的字节,取其字面值.


数据类型存在的目的是为了给其开辟空间.

第四节课

1.基本类型转换  不包含boolean

1.自动转换   将精度低的向精度高的进行赋值时,就会自动转换
2.强制转换   将精度高的向精度低的进行赋值时,就需要我们进行强制转换
     怎样强制转换
     在要转换的变量前面加上括号,括号内写上你要强制转换的类型

强制转换带来的问题
1.精度下降
2.数据溢出

基本类型精度从高到低
double ----->float---->long---->int ----->short char--->byte

简单理解成当前数据类型可以表示的数的个数

2.类型转换的注意的地方

1.当将一个字符赋值给整型时是将这个字符对应的码值赋值过去.
2.当将一个数字赋值给char类型时,只要这个值在0-65535范围内就可以完成赋值 。取的是这个码值对应的字符.
3.如果是变量赋值一定要注意类型转换的问题,但是如果是一个常量,
  java在内部自动进行了验证,如果当前的常量没以超过赋值类型的范围,可以自动赋值


3.运算符
1.操作符 可以进行操作的符号,像 +  -  *  /  都是操作符
2.操作数 操作符用来操作的变量或值,就叫操作数.
3.表达式 用操作符连接起来的式子就叫表达式

int a=10;
int b=20;
a+b;  a,b叫操作数,+叫操作符   整个式子叫表达式

如果操作符操作的数为2个那么叫2元(目)运算符
如果操作符操作的数为1个那么叫1元

第五节课


3.1算术运算符  
+  -  *  /  %      ++  --
* / %它优先级是一样的

运算规则
1.如果操作符两边的操作数类型一致,得到的结果与其类型一致
2.如果操作符两边的操作数类型不一致,得到的结果与精度比较高的类型一致
3.如果byte short char这三种类型参与运算,会先将其转换成int在去运算.

%是求余数操作

%在开发中什么时候用,用来判断整除 

%操作的结果的符号只与左边操作数的正负有关.

如果左边数小于右边数,结果为左边数



++  -- 自增与自减操作符   作用就是自加1与自减1


前缀式:先做自加或自减操作,在去参与运算

后缀式:先取值参与运算,在做自加自减操作

3.2 + 连接符

如果+号两边有一边是字符串那么它就是字符串连接符,
只有两边全是数字时,它才做加法操作.


第六节课
1.赋值运算符
= 叫赋值运算符,它的优先级最低。赋值符号左边不可以写表达式
  它的运算顺序是从右向左.


简化操作
+=  -=  *=  /=....

这种简化操作其实相当于在内部完成了一个自动的强制转换过程.

2.比较运算符

特殊记忆 等于操作  ==  它是用来比较是否相等的.
不等号 !=

>  >= < <= 它们只能操作基本数据类型中的值

==  !=可以操作任何类型

比较运算符操作后得到的结果为boolean


3.逻辑运算符

它只能操作boolean类型的操作数,并且结果也是boolean类型

&   |   ^
&&  ||  !

& 与 && 相当于并且 & 与 && 相当于并且  有一个操作数为false,结果为false,全为true,结果为true

| 与 || 相当于或者  有一个操作数为true,结果为true,全为false,结果为false

^ 两个操作数相同,结果为false,两个操作数不同,结果为true

!就是取反

&& 与&   || 与|区别

&&与||会产生短路,如果可以通过前面的表达式判断出整个式子的结果,后面的表达式不会在运算

&与|会将整个式子全都运算完在得到结果.




晚自习
(表达式1)?(表达式2):(表达式3)

表达式1的结果必须是一个boolean类型值  true false
如果表达式1结果为true,整个三元运算符连接的式子结果取表达式2的值
如果表达式1结果为false,整个三元运算符连接的式子结果取表达式3的值
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics