A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈思伟 中级黑马   /  2015-7-30 18:45  /  687 人查看  /  14 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

day01java之父:詹姆斯 高斯林
JavaSE 基础版 普通桌面应用程序 是其他版本的基础
JavaEE 企业版 web应用程序
JavaME 小型版 Android
java语言的特点:开源,跨平台,分布式处理,面向对象,简单性,多线程,动态,安全性等
java语言是跨平台的,JVM是不跨平台的
JDK java开发工具 包含JRK和开发工具
JRK java运行环境 包含JVM和核心类库
java语言通过javac把.java文件编译成.class文件,再用java把.class文件运行
path是为了保证我们写的程序在任何地方都可以来编译和运行
classpath是为了在任何目录都可以运行.class文件
关键字 被java语言赋予特殊含义的单词
          关键字中的字母都是小写的
goto和const作为java的保留字存在
java中的命名规范
           包:多单词组成所有都小写字母,用.来隔开
           类和接口:多单词首字母大写
          变量和函数:第一个单词小写,之后首单词大写
           常量:所有字母都大写,多单词用下划线割开





14 个回复

倒序浏览
day02
常量
指在程序运行过程中,其值不会发生改变的量
A:字符串常量 "hello"
B:整数常量        12,23
C:小数常量        12.345
D:字符常量        'a','A','0'
E:布尔常量        true,false
F:空常量        null

进制
在计算机中的所有数据无论是存储或者计算都是以二进制补码的形式进行的
A:二进制        由0,1组成。以0b开头。
B:八进制        由0,1,...7组成。以0开头。
C:十进制        由0,1,...9组成。整数默认是十进制。
D:十六进制        由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头

进制的转换
(1)其他进制到十进制
                系数:就是每一个位上的数值
                基数:x进制的基数就是x
                权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
                结果:系数*基数^权次幂之和。
例如:0252*8^1+5*8^0=21
                       
        (2)十进制到其他进制
                除基取余,直到商为0,余数反转。

        (3)进制转换的快速转换法
                A:十进制和二进制间的转换
                        8421码。
                B:二进制到八进制,十六进制的转换
变量
(1)在程序的执行过程中,其值在某个范围内可以发生改变的量
(2)变量的定义格式:
A:数据类型 变量名 = 初始化值;
Int x=0;
B:数据类型 变量名;
变量名 = 初始化值;
Int x;
X=0;

数据类型
   Java语言是强类型的语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
数据类型分为基本数据类型和引用数据类型
基本数据类型分为
整数        byte short int long
浮点型        float double
字符型        char
布尔型        boolean
引用数据类型分为
类                class
接口        interface
数组        arr[]
注意事项:整数默认的数据类型是int,小数默认的数据类型是double
数据类型的值从小到大:
Byte,short,charintlongfloatdouble

注意事项:long是8个字节,float是4个字节,long是整数型,float是浮点型,整数和浮点数存储规则不一样,float的范围大于long

自动类型转换(隐式转换)(值从小到大,不会出现丢失精度)
例如:byte b=5;
          int x=1+b;
        System.out.println(x);
强制类型转换(值从大到小,有可能会丢失精度)
例如:int x=5;
          byte b=(byte)(x+1);

面试题
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
b=b1+b2会报错。虽然b1和b2是byte类型,但在b1+b2过程中提成为int类型,byte类型的b无法接收int类型
b=3+4不会报错。3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值
条件运算符(三目运算符)
                格式:
                        条件表达式?表达式1:表达式2

                        执行流程:
                                根据条件表达式返回的是true还是false,决定结果是什么。
                                如果是true,就把表达式1作为结果。
                                如果是false,就把表达式2作为结果。
                举例:
                        int a = 100;
                        int b = a > 50 ? 200 : 100;
                        请问b的值?200
面试题
        (1)请用最有效率的代码写出2乘以8
                2<<3
        (2)请交换两个变量。
                int a = 10;
                int b = 20;

                开发:临时变量
                        int temp = a;
                        a = b;
                        b = temp;

                面试:位^运算符
                        a = a ^ b;
                        b = a ^ b;
                        a = a ^ b;
                一个数据对同一个数据^两次,结果还是数据本身

回复 使用道具 举报
1:运算符(掌握)
        (1)位运算符(了解)
                ^ : 一个数据对同一个数据^两次,结果还是数据本身。
                举例:a ^ b ^ b = a
        (2)条件运算符
                格式:
                        条件表达式?表达式1:表达式2

                        执行流程:
                                根据条件表达式返回的是true还是false,决定结果是什么。
                                如果是true,就把表达式1作为结果。
                                如果是false,就把表达式2作为结果。
                举例:
                        int a = 100;
                        int b = a > 50 ? 200 : 100;
                        请问b的值?200

2:面试题(理解)
        (1)请用最有效率的代码写出2乘以8
                2<<3
        (2)请交换两个变量。
                int a = 10;
                int b = 20;

                开发:临时变量
                        int temp = a;
                        a = b;
                        b = temp;

                面试:位^运算符
                        a = a ^ b;
                        b = a ^ b;
                        a = a ^ b;

3:if语句(掌握)
        (1)用于做判断使用的。
           常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
(2)格式:
        A:第一种格式
                if(条件表达式)
                {
                        语句体;
                }

                执行流程:
                        如果条件表达式为true,就执行语句体;
                        否则,什么都不执行。

B:第二种格式
        if(条件表达式)
        {
                语句体1;
        }
        else
        {
                语句体2;
        }

        执行流程:
                如果条件表达式为true,就执行语句体1;
                否则,就执行语句体2;

        特殊:
                可以和条件表达式在某些情况下进行替换。
                一般是在赋值的情况下可以。

        举例:
                获取两个数中的最大值。

C:第三种格式
        if(条件表达式1)
        {
                语句体1;
        }
        else if(条件表达式2)
        {
                语句体2;
        }
        ...
        else
        {
                语句体n;
        }       

        执行流程:
                如果条件表达式1为true,就执行语句体1;
                如果条件表达式2为true,就执行语句体2;
                ...
                否则,就执行语句体n;
               
D:注意事项
        a:什么时候时候哪一种if语句。
                第一种格式在判断条件为一种情况下使用。
                第二种格式在判断条件为两种情况下使用。
                第三种格式在判断条件为多种情况下使用。
        b:每一种if语句其实都是一个整体,如果有地方执行了,
          其他的就不执行了。
        c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
          但是,如果是控制多条语句,就必须写上大括号。
          建议:永远写上大括号。
        d:大括号和分号一般不同时出现。

E:作用域
        所有变量的定义只在它所属的大括号内有效。
        (3)案例:
                A:根据键盘录入的成绩,判断等级。
                B:根据键盘录入的月份,输出该月份所对应的季节。

4:switch语句(掌握)
(1)用于做选择使用的。一般用于几个常量的判断。
        switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
        所以,针对几个常量的判断,一般选择switch语句。
(2)switch语句的格式:
        switch(表达式)
        {
                case 值1:
                        语句体1;
                        break;
                case 值2:
                        语句体2;
                        break;
                case 值3:
                        语句体3;
                        break;
                ...
                default:
                        语句体n;
                        break;       
        }

                A:针对格式的解释
                        switch:表示这里使用的是switch语句,后面跟的是选项。
                                表达式:byte,short,int,char
                                        JDK5以后可以是枚举(以后讲)
                                        JDK7以后可以是字符串(后面讲)
                        case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
                             case后面的值是不能够重复的。
                        break:
                                switch语句执行到这里,就结束了。
                        default:
                                当所有的case和表达式都不匹配的时候,就走default的内容。
                                它相当于if语句的else。一般不建议省略。
                B:执行流程
                        进入switch语句后,就会根据表达式的值去找对应的case值。
                        如果最终没有找到,那么,就执行default的内容。
               
                C:注意事项:
                        a:default整体可以省略吗?
                                可以,但是不建议。
                        b:default的位置可以放到前面吗?
                                可以,但是不建议。
                        c:break可以省略吗?
                                可以,但是不建议。
                                default在最后,break是可以省略的。
                                case后面的break可以省略,但是结果可能有问题。
                        d:switch语句什么时候结束呢?
                                就是遇到break或者执行到程序的末尾。
        (3)案例:
                A:根据键盘录入的日期(1-7),输出对应的星期日期。
                B:根据键盘录入的月份,输出该月份所对应的季节。(选做)

5:Scanner的使用(掌握)
        (1)Scanner是JDK5以后设计的用来接收键盘录入数据使用的。
        (2)目前我们要通过键盘录入int类型数据,必须按照如下步骤:
                A:导包
                        import java.util.Scanner;
                B:创建对象,封装键盘录入
                        Scanner sc = new Scanner(System.in);
                C:调用方法,获取数据
                        int number = sc.nextInt();
回复 使用道具 举报
你这是面试题吗
回复 使用道具 举报
支持一下。
回复 使用道具 举报
666666666666666666
回复 使用道具 举报

对的,在范围内
回复 使用道具 举报
day04
for循环和while循环
for循环和while循环的区别:
初始化条件的变量在for结束后是不能使用的,在while结束后是可以使用的,如果这个变量仅仅控制次数,建议使用for,因为for结束,变量就结束了,效率高

嵌套for
外循环控制行,内循环控制列
正三角:外循环控制行,内循环控制列,内循环判断条件发生变化

break和continue:终止或中断循环操作
break:结束当前循环
continue:结束本次循环,进入下一次循环
注意:
回复 使用道具 举报
day04
for循环和while循环
for循环和while循环的区别:
初始化条件的变量在for结束后是不能使用的,在while结束后是可以使用的,如果这个变量仅仅控制次数,建议使用for,因为for结束,变量就结束了,效率高

嵌套for
外循环控制行,内循环控制列
正三角:外循环控制行,内循环控制列,内循环判断条件发生变化

break和continue:终止或中断循环操作
break:结束当前循环
continue:结束本次循环,进入下一次循环
注意:
      break和continue是在循环中使用的,一般是在循环中的判断中使用
      break还可以在switch中使用
回复 使用道具 举报
不详细。。。。。
回复 使用道具 举报
好有用啊,真不错
回复 使用道具 举报
苦逼没网络更新不了
回复 使用道具 举报
不错   支持一下
回复 使用道具 举报
15225159271 来自手机 中级黑马 2015-8-5 17:34:13
14#
总结的够详细的,赞一个
回复 使用道具 举报
Wqi 高级黑马 2015-8-5 18:06:43
15#
坐等更新!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马