java基础小知识
1.1常量:
基本数据类型常量
字符常量
整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制)
生活中:十进制(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数据类型分为两种:
1.基本数据类型
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关系运算符 : >,<,>=,<=,== ,!=
逻辑运算符: & ,| ,! ,&& ,||
位运算符:
它是对二进制位进行计算。
位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算。
二进制由0和1组成,所以计算的结果要么是0,要么是1
1.5位运算符的符号:
& (与):两者都是1的时候我就是一,其他都是0
|(或):两者都为0时才为0 ,其他的都是1.
^(异或):两者不同为1,相同为0
~(取反):0变为1,1变为0.
//负数的表现形式: 二进制位的最高位为1,那么这个数就是一个负数。
1111-1111 1111-1111 1111-1111 1111-1111 : -1
0000 0000 0000 0000 0000 0000 0000 0000 : 0
-2:1111-1111 1111-1111 1111-1111 1111-1110
-3:1111-1111 1111-1111 1111-1111 1111-1101
-4:1111-1111 1111-1111 1111-1111 1111-1100
-5:1111-1111 1111-1111 1111-1111 1111-1011
-6:1111-1111 1111-1111 1111-1111 1111-1010
-7:1111-1111 1111-1111 1111-1111 1111-1001
0000-0000 0000-0000 0000-0000 0000-0111 = 7
1111-1111 1111-1111 1111-1111 1111-1001
规律:负数所对应的正数-1 ,取反
负数所对应的正数取反+1
作用:数据进行加密
123456
0-100 a-z
24845845957512317580960 --- >123456
1.6移位操作符:对二进制位进行操作
1.6.1 >> 右移
1.6.2 << 左移
1.6.3 >>> 无符号右移
// >> 右移
// << 左移
// >>> 无符号右移
//右移:
System.out.println(6>>1); // --->3 6/2 2*1
System.out.println(6>>2); // --->1 6/4 2*2
System.out.println(6>>3); // --->0 6/8 2*3
System.out.println(6>>4);
System.out.println(9>>1); // --->4 9/2 2*1
System.out.println(9>>2); // --->2 9/4 2*2
System.out.println(9>>3); // --->1 9/8 2*3
System.out.println(9>>4);// --->0 9/16
System.out.println(-6>>1); // -6/2 -->-3
//规律: 右移多少位,就用需要移动的数除以2的多少次方。
//左移 :
System.out.println("-----这个是左移的结果----------");
System.out.println(6<<1); // --->12 6*2 2*1
System.out.println(6<<2); // --->24 6*4 2*2
System.out.println(6<<3); // --->48 6*8 2*2*2
System.out.println(6<<4); //---->96 6*16 2*2*2*2
System.out.println(-6<<2);//--->-24
//规律: 左移多少位,就用这个数乘以2多少次方。
//>>>无符号的右移
System.out.println(6>>>1); //3
System.out.println(6>>>2); //1
System.out.println(-6>>>2); // 1073741822
作用 : 提高运算速率。位运算是执行最快。
比如: 以最快的方式计算 2*8
2<<3 == 2*8 = 16
特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。
java基础小知识的更多相关文章
- Java基础小知识(一)
序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...
- Java基础小知识笔记
1. Integer转进制的一个类2. toBinaryString,toOctalString,toHexString.(转为二进制,八进制,十六进制的方法)3. 如果·数据的大小没有超过byte/ ...
- Java基础小知识1——分别使用字节流和字符流复制文件
在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的. 1.使用字节流缓冲区复制文件 示例代码如下: import java.io ...
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- Java基础入门知识
Java编程入门知识 知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...
- Java 基础部分知识复习
面向对象的特征: 继承.封装和多态 封装 : 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象去操作.对不可信的信息进行隐藏. 继承: 它可以使用现有类的功能,并在无需重新编 ...
- 学习笔记:Java的一些基础小知识之JVM与GC
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...
- Java的一些基础小知识之JVM与GC (转)
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...
- java线程的一些基础小知识
--------------------------------------------------------------------------------------------------线程 ...
随机推荐
- 如何导出FlashFXP的站点配置文件
打开FlashFXP安装文件的目录,找到Sites.dat文件,将其复制出来,放到你新的FlashFXP安装的目录即可
- FTP Proxy Server
本文将在Linux环境下实现一个简单的FTP代理服务器,主要内容涉及FTP主动/被动模式和简单的Socket编程. 1. 主动模式和被动模式 FTP有两种模式,即主动模式(Active Mode)和被 ...
- [SCOI2007] 修车
属于我的费用流版本终于诞生了!想来还有点小激动呢…看了下模板,之后完全按照自己的想象来写,这样在考场上也不怕啦~ 某人说其实费用流就是把Dinic里的BFS换成SPFA,似乎还是比较有道理的,就是ad ...
- zynq学习01 新建一个Helloworld工程
1,好早买了块FPGA板,zynq 7010 .终极目标是完成相机图像采集及处理.一个Window C++程序猿才开始学FPGA,一个小菜鸟,准备转行. 2,关于这块板,卖家的官方资料学起来没劲.推荐 ...
- JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))
创建两个jsp页面:reg.jsp 和 request.jsp reg.jsp: <%@ page language="java" import="java.uti ...
- HPL/SQL与CDH5.4.7集成
1.下载hplsql-0.3.13到本地并解压 2.修改plsql,为如下内容 #!/bin/bash export "HADOOP_CLASSPATH=/opt/cloudera/parc ...
- google closure--继承模块一:goog.inherits()
最近在项目是使用了google closure框架,深入研究了一下源码,先从最简单的继承系统吧. 废话不多说,closure继承模块主要有2个API: goog.inherits(childCtor, ...
- 【学习笔记】python 简单创建新建一个网络客户端,并返回相关的信息
#导入socket包 import socket #使用socket.socket创建socket连接 #AF_INET表示通信类型,与IPv4对应 #SOCK_STREAM对应TCP通信 print ...
- $(document).ready() 与 window.onload 之间的区别
1.执行时机 window.onload 是网页中所有的元素都加载到浏览器后才执行 $(document).ready() 是dom完全就续就可以调用 例如:如果给一副图片添加点击事件,window. ...
- JAVA中SERIALVERSIONUID的解释
serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.有两种生成方式: 一个是默认的1L,比如:private st ...