javaSE基础03

生活中常见的进制:
十进制(0-9)、星期(七进制(0-6))、时间(十二进制(0-11))、二十四进制(0-23)

进制之间的转换

十进制转为二进制: 将十进制除以2,直到商为0 ,将余数从下上连接起来就是二进制

10---->1010

二进制转十进制:将二进制的每一位乘以2^n ,n从0开始,n每一次加一,在将结果相加。

1001 ----》  1*2^0 +0*2^1 +0*2^2+1*2^3 = 9

将二进制换为八进制:

方式一:二进制--->十进制--->八进制

方式二:一个八进制相当于三个二进制位,将二进制三位一分割,计算出来

010 100 101 =  245

将二进制换为十六进制 :(0-9)(a(10)-f(15))

0000 1010 0101 = a5

1.2变量:

Java数据类型分为两种:

基本数据类型

Byte (字节) 8位(bit)

2.引用数据类型

String 字符串

变量的声明方式:

  1.数据类型  变量名

  2.数据类型  变量名1,变量名2...

数据类型:

  数据类型的转换

1.自动类型转换

  小数据类型--->大数据类型转换

2.强制类型转换

  大的数据类型 ----> 小的数据类型。

数据类型转换中需要注意的点:

1.凡是short ,byte ,char 定义的变量,在做运算 的时候,数据类型都会自动转换为int

2.两个不同数据类型做运算,给过取决于大的数 据类型。

运算符:

1.1算数运算符:+,-,*,/,%

1.2自增自减 :++ ,--

1.3赋值运算符 : = ,+=,-=,*=,/=

1.4关系运算符 : >,<,>=,<=,== ,!=  (结果只有两种,要么为真,要么为假)

1.5逻辑运算符: & ,| ,! ,&& ,||

Int 在计算机中有32位字节

位运算:只能计算二进制

&(与):两者为1,才是1,其他的为0

|(或):两者为0,才是0,其他的为1

^(异或):相同为0,不同为1

~(取反):将0变1,将1变0

负数的表现形式:二进制位的最高位为1 ,那么这个数就是一个负数

全1为 -1

1111-1111 1111-1111 1111-1111 1111-1111

全0为0

0000-0000 0000-0000 0000-0000 0000-0000

负数由来:负数所对应的正数-1 再取反

负数所对应的正数取反再 +1

比如:int a=6;

Int b=3;

0000-0000 0000-0000 0000-0000 0000-0110

0000-0000 0000-0000 0000-0000 0000-0011

           &

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

0000-0000 0000-0000 0000-0000 0000-0010   = 2

0000-0000 0000-0000 0000-0000 0000-0110

0000-0000 0000-0000 0000-0000 0000-0011

           |

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

0000-0000 0000-0000 0000-0000 0000-0111   = 7

位运算:用来对数据进行加密

1.6右移

>> 右移  :右移多少,就需要用移动的数除以2的多少次方

原理: 6>>1

空缺的位自动补0

0000-0000 0000-0000 0000-0000 0000-0110

000-0000 0000-0000 0000-0000 0000-0011  ---> 3

将整体向右移动移位,超出的位就去掉,空缺位就补0,必须是最高 位补0

如果最高位是1,空缺补1

如果最高位是0,空缺位补0

<< 左移 :左移多少位,就用这个数乘以2的多少次方

原理:6 <<1

特点:整体往左移,被移除的最高位丢弃,空缺的位就补0

0000-0000 0000-0000 0000-0000 0000-0110

0000-0000 0000-0000 0000-0000 0000-1100  --->12

>>> 无符号右移

6>>>1的结果和右移是一样的

-6>>>2

1111-1111 1111-1111 1111-1111 1111-1010   ---  -6

0011-1111 1111-1111 1111-1111 1111-1110

无论你的最高位是零还是1,最空缺位都补0

两个数相交换:三种方式

一个数两个相同的^最后结果还是原来的数A。

(B ^ A ) B

javaSE基础03的更多相关文章

  1. 巩固JavaSE基础--IDEA完成实战项目

    PS:学习完JavaSE基础后,需要有一个项目来测试自己的学习成果,并加以巩固.所以在这里,就让我们来学习下“一本糊涂账”项目吧.(此项目来源于Java自学网站) 项目完成效果图一览

  2. javaSE基础07

    javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...

  3. javaSE基础06

    javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...

  4. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  5. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  6. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  7. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  8. JavaSE基础01

    JavaSE基础篇01 ------从今天开始,我就学习正式java了,O(∩_∩)O哈哈~,请大家多指教哦 一.Windows常见的dos命令 操作dos命令: win7 --->开始 --- ...

  9. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

随机推荐

  1. python venv下安装mysql出错 解决方法

    1.首先使用exe文件安装python-mysql.链接: http://pan.baidu.com/s/1kVqILTX 密码: manj. 2.虚拟环境创建后,我们把已经在公共环境使用exe安装好 ...

  2. js导出excel

    function inportEx() { $("#btnEx").text("导出中..."); var fugNumber = "";/ ...

  3. Leetcode 365. Water and Jug Problem

    可以想象有一个无限大的水罐,如果我们有两个杯子x和y,那么原来的问题等价于是否可以通过往里面注入或倒出水从而剩下z. z =? m*x + n*y 如果等式成立,那么z%gcd(x,y) == 0. ...

  4. asp.net页面生命周期

    Asp.Net页面生命周期 本文转载自:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html 一.什么是Asp.Net页面生命周期 当 ...

  5. Linux and symmetric multiprocessing

    没空看,暂时留着 http://www.ibm.com/developerworks/library/l-linux-smp/

  6. iOS代码规范

    一.文档结构管理 1.建立Libraries文件夹,所有第三方库放入其中. 2.建立Utilities文件夹,自已封装的类放入其中. 3.建立Constants.h头文件,所有的常量定义于其中.Con ...

  7. theano scan optimization

    selected from Theano Doc Optimizing Scan performance Minimizing Scan Usage performan as much of the ...

  8. python简单搭建HTTP Web服务器

    对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...

  9. mysql代码执行漏洞

    mysql  (5.7, 5.6, 和 5.5版本)的所有默认安装配置,包括最新的版本,攻击者可以远程和本地利用该漏洞.该漏洞需要认证访问MYSQL数据库(通过网络连接或者像phpMyAdmin的we ...

  10. PHP常用函数整理

    推荐网址:http://php.net/manual/zh/http://www.w3cschool.cc/php/php-ref-array.html 错误报告: error_reporting(E ...