Java菜鸟征途--笔记

来源:互联网 发布:淘宝金牌卖家显示出来 编辑:程序博客网 时间:2024/04/30 09:15

编者:ISPEASANT

       QQ:157012743

      本人是个Java菜鸟初学者,第一次真真正正的接触Java这门编程语言,在学习过程中,遇到了很多问题,在此用博客形式记录下来,方便自己日后查看学习,同时可以和大家交流。可能这里面有很多很基础的问题,希望大家不要见笑。


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

      因为以前很少接触DOS环境下的操作,对里面的DOS命令不是很熟,在Java中常用到的DOS命令有以下命令:

dir : 列出当前目录下的文件以及文件夹
mkdir: 创建目录(简写md)
rmdir : 删除目录(简写rd)
cd : 进入指定目录
cd.. : 退回到上一级目录
cd\ : 退回到根目录
echo "hello java">a.txt  写入文本到指定文件  
type a.txt 显示文件内容命令
del : 删除文件
rd /s/q  删除非空目录
exit : 退出dos命令行

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

     计算机的原码、反码、补码

原码,补码,反码的符号位固定为0,数值位都是真值。所以一个正整数的原码,补码,反码是相同的。
负整数:
原码,补码,反码的符号位固定为1不变,数值位不相同。
原码的数值位是真值;
反码:原码数值位的每一位二进制数位求反得到;
补码:反码数值位最低位加1得到。
一. 原码
8
原码:0000,1000
-8
原码:1 000,1000 
二. 反码
8
反码:0 000,1000
-8
反码:1 111,0111
三. 补码
8
补码:0 000,1000
-8
补码:1 111,1000


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

     

        移位运算符: 1、5<<35,会先首先进行35%32 的求余数运算吗?如果是这样,那么5<<-2 的结果是多少呢?
                  2、如果移动的位数超过了32位.并不是位数%32 再移动的. 错误的!!! .
                  3、实际情况是这样的, 只取出了移动位数的最低5位的有效数值... 如果查看二进制的话: 11111 -> 31 . 一个int 值可以移动的最大位数就是31位了....   

代码参考学习:

public class Demo3{public static void main(String[] args){/*如果移动的位数超过了32位. int值只有32位. 猜测: 移动的位数%32 取了余数再移动... *//*3(十进制)-> 00000000 00000000 00000000  00000011最低5位: 00011 -> 3 */System.out.println(5<<3);  /*35(十进制)->00000000 00000000 00000000  00100011最低5位:00011  ->3 */System.out.println(5<<35);//左移-2位, 那就是向右移动2位...//-2%32  -2 /*-2(十进制)  2的二进制  00000000 00000000 00000000 00000010  反码:  11111111 11111111 11111111 11111101 补码:  11111111 11111111 11111111 11111110 最低5位:11110  ->30*/System.out.println(5<<-2);System.out.println(5<<30);// 注意: 要移动的数值是long 类型的, 移动的位数,之取出位数的最低6位有效数值(6个二进制最大值63,刚好是long 的有效的数值位)System.out.println(5L<<-2);System.out.println(5L<<62);}}


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

<h2>1.1.  构造代码块</h2><p>2:作用</p><p>1:给所有对象进行初始化。对象一建立就运行并且优先于构造函数。</p><p>2:与构造函数区别:</p><p>1:构造代码块和构造函数的区别,构造代码块是给所有对象进行统一初始化, 构造函数给对应的对象初始化。</p><p>2:构造代码块的作用:把不同对象的共性内容,放到构造代码块中,统一初始化。例如孩子一出生统一哭</p>
</pre><pre name="code" class="java">class Person {String name;int age;// 构造代码块,给所有对象进行初始化。{System.out.println("这是构造代码块");}// 无参数构造函数Person() {System.out.println("这是无参的构造函数");}// 有参数构造函数Person(int a, String n) {age = a;name = n;System.out.println("有参构造");}// 普通函数void speak() {System.out.println("名字:"+name+" 姓名:"+age+"hah");}}










0 0