我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴!
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. Javascript之布尔

    一.概念 将非布尔值转成布尔值(true)或(false). 二.创建布尔对象 var bool = new Boolean(); console.log(bool);//Boolean { fals ...

  2. Hadoop - 国内各站点最高温度、气压和风速统计

    版权说明:  本文章版权归本人及博客园共同所有,转载请标明原文出处(http://www.cnblogs.com/mikevictor07/),以下内容为个人理解,仅供参考. 一.简介 该实例统计国内 ...

  3. Jmeter之app性能测试(ios,android)

    测试小菜鸟alter今天一大早又学习了一点东西关于jmeter-app性能测试,现在记录一下.提到性能测试,那我就简单总结一下.(想跳过的,直接将页面下移到下一个红色字体处) 性能测试的相关知识介绍 ...

  4. wordpress设置“固定链接”后,页面404错误的解决方法

    Nginx 解决方案: 网上盛传的方法是: 在 /etc/nginx/nginx.conf文件的 loction / {} 中添加 if (-f $request_filename/index.htm ...

  5. 6. leetcode 136. Single Number

    Given an array of integers, every element appears twice except for one. Find that single one. Note: ...

  6. for’ loop initial declarations are only allowed in C99 mode

    今天做南邮编程在线的编程题,编程首先计算Fibonacci数列1,1,2,3,5,8,13,21,......的前n项(n不超过40)存入一维整型数组f中,再按%12d的格式输出每项的值,每6项换一行 ...

  7. 中国象棋(IOS)

    ////  ViewController.m//  ChineseChess////  Created by 晚起的蚂蚁 on 2016/11/20.//  Copyright © 2016年 晚起的 ...

  8. html5 textarea 文本框根据输入内容自适应高度

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. 第7章 DNS & bind从基础到深入

    本文目录: 7.1 DNS必懂基础 7.1.1 域的分类 7.1.2 主机名.域名.FQDN 7.1.3 域的分层授权 7.1.4 DNS解析流程 7.2 DNS术语 7.2.1 递归查询和迭代查询 ...

  10. 浅析MySQL中的Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化

    本文出处:http://www.cnblogs.com/wy123/p/7374078.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误 ...