java基础小知识

时间:2022-03-28 20:27:43

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基础小知识的更多相关文章

  1. Java基础小知识(一)

     序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...

  2. Java基础小知识笔记

    1. Integer转进制的一个类2. toBinaryString,toOctalString,toHexString.(转为二进制,八进制,十六进制的方法)3. 如果·数据的大小没有超过byte/ ...

  3. Java基础小知识1——分别使用字节流和字符流复制文件

    在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的. 1.使用字节流缓冲区复制文件 示例代码如下: import java.io ...

  4. Java基础语法知识你真的都会吗?

    第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是*的,但是仍然有一定的"潜规则",通过你对命名 ...

  5. Java基础入门知识

    Java编程入门知识   知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...

  6. Java 基础部分知识复习

    面向对象的特征: 继承.封装和多态 封装 : 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象去操作.对不可信的信息进行隐藏. 继承: 它可以使用现有类的功能,并在无需重新编 ...

  7. 学习笔记:Java的一些基础小知识之JVM与GC

      一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...

  8. Java的一些基础小知识之JVM与GC &lpar;转&rpar;

    一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...

  9. java线程的一些基础小知识

    --------------------------------------------------------------------------------------------------线程 ...

随机推荐

  1. 基于ASP&period;NET MVC(C&num;)和Quartz&period;Net组件实现的定时执行任务调度

    http://www.cnblogs.com/bobositlife/p/aspnet-mvc-csharp-quartz-net-timer-task-scheduler.html 在之前的文章&l ...

  2. 【bzoj3505】 Cqoi2014—数三角形

    http://www.lydsy.com/JudgeOnline/problem.php?id=3505 (题目链接) 题意 给定一个n*m的网格,请计算三点都在格点上的三角形共有多少个. Solut ...

  3. Ecshop :后台添加新功能 菜单及 管理权限 配置

    需求:在<商品管理>下增加一项[商品推广管理]功能 一. 添加菜单项 打开 /admin/includes/inc_menu.php 文件(后台框架左边菜单),在最后添加一行如下: $mo ...

  4. 每日英语:A New Way to Learn Chinese

    Entrepreneur and author ShaoLan Hsueh thinks that English-speakers can start learning to read Chines ...

  5. BZOJ 2096&lpar;&lbrack;Poi2010&rsqb;Pilots-单调队列-差值&rpar;

    2096: [Poi2010]Pilots Time Limit: 30 Sec   Memory Limit: 162 MB Submit: 190   Solved: 97 [ Submit][ ...

  6. 7&period;在第4题中Hello&period;class所在路径下, 输入命令:java Hello&period;class,会出现什么结果,为什么?

    java Hello已经是加载类了

  7. 39&period;Linux应用调试-strace命令

    1.strace简介 strace常用来跟踪进程执行时的系统调用和所接收的信号.通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 ...

  8. Storm入门(五)Twitter Storm如何保证消息不丢失

    转自:http://xumingming.sinaapp.com/127/twitter-storm如何保证消息不丢失/ storm保证从spout发出的每个tuple都会被完全处理.这篇文章介绍st ...

  9. redis学习-string常用命令

    keys * :查询所有的key值 set:为指定键设置对应的值 get:获取指定键的值 mset:一次传入多个键值对 mget:一次获取多个键的值 del:删除指定键 strlen:获取指定键值的长 ...

  10. java中各种时间公式

    /** * 返回当前时间 * * @return 返回当前时间 */ public static Date getCurrentDateTime() { java.util.Calendar calN ...