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. 小猪cms微信二次开发之怎样分页

    $db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...

  2. Beta版本冲刺第四天

    Aruba 408 409 410 428 429 431 完成任务: 更改了一些边界模糊的图标 完善分享功能 立会照片: 燃尽图: commit: coding.net: https://codin ...

  3. Android 千牛数据库分析

    标签(空格分隔): 千牛,逆向 问题:Android 千牛登陆后产生保存用户数据的db无法直接用sqlite3打开,需要解密. 反编译Apk后jd-gui查看源码.熟悉的sqlcrypto模块加密,阿 ...

  4. Bitmap转换成BitmapImage

    public BitmapImage BitmapToBitmapImage(System.Drawing.Bitmap bitmap) { MemoryStream ms = new MemoryS ...

  5. pip apt source images

    ~/.pip/pip.conf [global] index-url = https://pypi.douban.com/simple download_cache = ~/.cache/pip [i ...

  6. Jquery实现特效滑动菜单栏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. CPU阿甘之烦恼

    转自“码农翻身”公共号,原文地址CPU阿甘之烦恼 总结:(程序加载到内存运行的演变过程) 内存存放程序.OS负责加载程序到内存.CPU负责运行内存中的程序 1.串行:加载一个完整程序到内存,CPU运行 ...

  8. Mac 配置 php-fpm 时出现'/private/etc/php-fpm.conf': No such file or directory (2)

    https://github.com/musicode/test/issues/5 Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误: ERROR: failed to open ...

  9. 解决svn pritine text not exist问题

    svn: E155032: The pristine text with checksum '$sha1$151400d1cd4c5fc190d500aa1826d45cb91f088f' not f ...

  10. Python:基本语法1

    I.Python中的转义符注意情况 如果'本身是一个字符,则可将其用" "括起来: 如果字符串内部既有',又有",则可用转义字符\,比如: 'I\'m\"OK\ ...