我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴!
Java的基本构造
标识符和关键字
标识符规则
标识符就是用于给程序中变量,类、方法命名的符号
1.标识符可以由数字,字母,下划线,以及$组成,其中不能以数字开头
2.标识符不能是Java关键字和保留字,但是可以包含关键字和保留字
3.标识符中不能包含空格,但是标识符可以是中文
标识符中可以包含$,但是不能包含&、#等其他特殊字符
Java关键字:Java所有的关键字都是小写的
关键字:指的是有一些特殊用途的单词,他们用来表示一种数据类型,或者表示一种数据的结构等,关键字不能用作变量名,方法名,类名,包名和参数。
 
abstract
continue
if
new
switch
assert
default
for
package
synchronized
boolean
do
goto
private
this
break
double
implements
protected
throw
byte
else
import
public 
 throws
csae
enum(Java是从)
instanceof
return
transient(用来表示一个域不是该对象串行化的一部分)
catch
extends
int
short
try
char
final
interface
static
void
class
finally
long
strictfp
volatile
const
float
native
super
while
 
 
java语言是强类型的语言,强类型包含两个方面的含义:
①所有的变量都需要先赋值后使用
②指定类型的变量 只能接受类型与之匹配的值
Java语言支持的类型包括基本类型和引用类型
       基本类型包含boolean类型和数值类型
          数值类型又可以分为浮点类型、字符类型和整数类型
                 1.  整数类型包括byte、short、int、long
                      byte(一个字节,八位,表示数是-128(-(2的7次方))~128(2的7次方))
                      short(二个字节,十六位)
                      int(四个字节,三十二位)
                      long(八个字节,六十四位)
                  2.浮点类型包括float型和double(型)
                      float(四个字节, j三十二位)
                      double(八个字节,六十四位)
                  3.字符类型char
                     字符类型包含两个字节,16位,使用‘ ’括起来
对于int型变量,内存分配   4   个字节,对于char型变量,内存分配   2    个字节,对于float型变量,内存分配   4   个字节,对于double型变量,内存分配   8   个字节。
      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代表字符型,实际上字符型也是一种整数类型,相当于无符号整数类型)
          字符型有以下三种表示形式:
  • 直接通过单个字符来指定字符型值,如‘A’、‘9’、‘0’等
  • 通过转义字符表示特殊字符值,例如‘\n’、‘\t’等
  • 直接通过Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数
          转义字符
             Java编程人员在给字符变量赋值时,通常直接从键盘输入特定的字符,
         而不会使用Unicode字符编码,因为很难记住各种字符的Unicode
         字符编码值。对于有些特殊字符,比如单引号,如不知道它的
         Unicode字符编码,直接从键盘输入编译错误:
            char c = ''';           //编码出错
                    为了解决这个问题,可采用转义字符来表示单引号和其他特殊字符:
                    char c = '\'';
                    char c = '\\';
                    转义字符以反斜杠开头,常用转义字符:
                    \n           换行符,将光标定位到下一行的开头;
                    \t           垂直制表符,将光标移到下一个制表符的位置;
                    \r           回车,将光标定位到当前行的开头,不会移到下一行;
                    \\           反斜杠字符
                    \'           单引号字符
数据类型的转换:
      1)强制类型转换:精度高向精度低的转换
          byte b = (byte)129;
        下面程序将随机产生的十进制数,通过char类型强制转换成字符型

结果:

2)隐式类型转换:精度低向精度高(自动类型)的转换
          byte<short<int<long<float<double
                    char<int<long<float<double
System.out.println(1+ 2.0+"5" );的输出结果应该是(C)。
A、12.05B、8C、3.05 D、35
注:先隐式转换成double类型,“+”作为连接符再将字符进行连接
 
int类型的数和long类型的数进行运算的时候,自动转换成long类型的进行运算

结果:

运算符
  • 算术运算符
       +:加法运算符
        

结果:

“+”也可以做字符串的连接符来使用

结果:

-:减法运算符

结果:

*:乘法运算符

结果:

/:除法运算符
            如果除法的两个操作数都是整数类型,则计算结果也是整数类型,除数不可以是0,否则将会引发除以0异常;如果除法的两个操作数有一个或两个是浮点型,则结果也是浮点型,此时除数允许是0,或者是0.0,得到的结果是正无穷大或者是负无穷大

结果:

%:求余运算符
      求余运算的结果不一定总是整数,它的计算结果是使用第一个操作数除以第二个操作数,得到一个整数的结果后剩下的值就是余数  如果取余运算的两个操作数都是整数类型,则计算结果也是整数类型,除数不可以是0,否则将会引发除以0异常;如果除法的两个操作数有一个或两个是浮点型,则结果也是浮点型,此时除数允许是0,或者是0.0,得到的结果是非数:NaN.0或0.0对0以外的任何数求余都将得到0或0.0
    

结果:

  • 赋值运算符
        Java使用“=”作为赋值运算符,通常使用赋值运算符将一个直接量赋给变量
 
        

 
  • 位运算符
        Java支持的位运算符有如下七个
 
          &:按位与。只有当两位同时为1的时候才能返回为1
 
          |   :按位或。只要一位为1即可返回为1
 
          ~:按位非。单目运算符,将操作数的每个数(包括符号位)全部取反
 
         ^ :按位异或。当两位相同时返回0,不同时返回1
 
         <<:左移运算符
 
         >>:右移运算符
 
          >>>:无符号右移运算符          
  • 比较运算符
         比较运算符是用于判断两个变量或常量的大小,比较运算的结果是一个布尔值(true或false)
 
         >:大于,只支持左右两边是数值类型
 
         >=:大于等于,只支持左右两边是数值类型
 
         <:小于,只支持左右两边是数值类型
 
         <=:小于等于,只支持左右两边是数值类型
 
          ==:等于,如果进行比较的两个操作数都是数值类型,即使它们的数值类型不同,只要他们的值相等,也都将返回true。
                例如,97==‘a’返回true,5.0==5也将返回true
                 如果两个操作数都是引用类型,那么只有当两个引用变量的类型只有具有父子关系的时候才可以比较,而且这两个引用必须指向同一个对象才会返回true。
                Java也支持两个boolean类型的值进行比较,例如:true==false将返回false
  • 逻辑运算符
         逻辑运算符用于操作两个boolean类型的变量或常量。逻辑运算符主要有以下六个
         &&:与,前后两个数必须都为true才返回为true,否则返回为false(前面的数如果为false,对后面的操作数就不进行比较,成为短路与)
         &:不短路与,作用于&&相同,但不会短路
         ||:或,只要两个操作数中有一个为true,就可以返回为true,否则返回为false
         |:不短路或,作用于||相同,但不会短路
        !:非,只需要一个操作数,如果操作数为true,则返回为false
         ^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回为false
  • 三目运算符
         (expression)?if-true-statement:if-false-statement
          例: “a大于b”:       (a<b?"a小于b":"a大于b")
  • 运算符的结合性和优先级
         所有的数学运算符都认为是从左往右进行计算的,Java语言中的大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符都是从右往左结合的,也就是从右往左进行计算的
 
                                   运算符说明
                                                                Java运算符
分隔符
.            []         ()    {}    ,   ;
单目运算符
++     --  ~   !
强制类型转换运算符
(type)     (注:type=char,int,short……)
乘法/除法/取余
*、/、%
加法/减法
+   -
位移运算符
<<   >>      >>>
关系运算符
<    <=   >   >=   instanceof
等价运算符
==        !=
按位与
&
按位异或
^
按位或
|
条件与
&&
条件或
||
三目运算符
? : 
赋值
=   +=    -=   *=   /=     &=      |=     ^=    %=     <<=     >>=    >>>=
 
自增自减运算,例如:b=a++,则先给b赋值,a之后在进行运算    b=++a,则是a先进行运算,再给b进行赋值
 

结果:

 
  1. 假设x=11,y=3,则表达式x%y != 0的值是   true   ,表达式x&y的值是3或0011。(将这个数转换成二进制数来运算)
即;x   0000 1011
&
   y   0000 0011

       0000 0011
 
注:当两个数进行与运算的时候,两个数如果同为1则相与之后的结果为1,两个数都为0,或者两个数为1,0或0,1相与之后的结果都为0
 
位运算符:&:双目运算符,运算时均把运算数转换为二进制数再做比较,规则:当相同的微商均为1时结果为1,否则结果为-
 
          |:当两边的操作数有一边为1时,则结果为1,否则,结果为0
 
          ~:0变1,1变0
 
          ^:或,两边的位不同时,结果为1,否则为0  
     引用类型
 
        引用类型包括类、接口和数组类型,还有一种特殊的null类型。所谓引用数据类型就是一个对象的引用,对象包括实例和数组两种。实际上,引用数据类型变量就是一个指针,只是Java语言不再使用指针这个说法。
        空引用只能被转换成引用类型,不能转换成基本类型,因此不要把一个null值赋给基本数据类型

对Java的数据类型和运算符的理解的更多相关文章

  1. JAVA基础--数据类型和运算符总结

    一,JAVA的数据类型 逻辑型----boolean 只允许取值true和false 字符型----char java采用unicode编码(utf16),每个字符占用两个字节 整数型----byte ...

  2. java基本数据类型和运算符

    一.基本数据类型 种类: 内置数据类型 引用数据类型 1.内置数据类型 一共有八种基本类型,六个数字类型(四个整数类型,两个浮点型),一个布尔型,一个字符类型. (1)byte: byte数据类型是8 ...

  3. Java基础 - 数据类型和运算符

    Java 语言支持的类型分为两类:基本数据类型(Primitive Type)和引用类型(Reference Type). 目录 基本数据类型 数值类型 整数类型 byte short int lon ...

  4. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  5. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  6. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  7. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  8. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  9. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

随机推荐

  1. Oracle 11g RAC 修改各类IP地址

    Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...

  2. CentOS服务器运维监控Nagios(一)

    CentOS下搭建Nagios 王尚 2014.11.09 操作系统:CentOS-6.5-i386-bin-DVD1.iso 安装在VM中进行测试的. 本章需要的软件链接: php-5.3.2.ta ...

  3. HH去散步[SDOI2009]

    题目描述 HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH是个喜欢 ...

  4. ABP+AdminLTE+Bootstrap Table权限管理系统第三节--abp分层体系及实体相关

    说了这么久,还没有详细说到abp框架,abp其实基于DDD(领域驱动设计)原则的细看分层如下: 再看我们项目解决方案如下: JCmsErp.Application,应用层:进行展现层与领域层之间的协调 ...

  5. ECMAScript6-let与const命令详解

    前言 <ECMAScript入门>是一本开源的JavaScript语言教程,全面介绍ECMAScript6新引入的语法特性. let和const命令,是第一章开始介绍,也是比较基础的知识. ...

  6. 打造颠覆你想象中的高性能,轻量级的webform框架---无刷新提交后台并返回参数(第五天)

    问题5:  使用aspx 页面执行后台方法,总是要刷新整个页面?我想提交后台不刷新页面,同时返回参数 执行前台的js 脚本,就是说类似于像 ajax 的效果一样,那我们该怎么做呢? 大家是否已经看了前 ...

  7. 【netlimiter】的使用

    说到工具,如果你的netlimiter不能使用了或者使用过程中有问题,那么首先需要想到的是:去官网下载1个最新的版本.[搜不到官网的话,在比较靠谱儿的网站下载1个也能用] netlimiter有中文版 ...

  8. AIX缩小逻辑卷报错chfs: 0506-964

    --AIX缩小逻辑卷报错chfs: 0506-964 -----------------------------------------2013/10/29 通过smit chfs/或 chfs命令 ...

  9. 【算法与数据结构】Java实现字符串的全排列及组合

    注:本文记录了代码编写及调试过程,想直接浏览正确答案的请移步文章结尾. 一.字符串的全排列问题 1. 下面是最初的代码(答案有错误-重复输出) import java.util.Scanner; pu ...

  10. WTL--SDI框架分析

    创建SDI产生的基本类:CMainFrame,CAboutDlg和CWTLView(WTL为项目名). 由此可见,不同于MFC,WTL少了文档类,它的结构就只有简单的窗口类和视图类,而至于串行化(MF ...