黑马程序员技术交流社区

标题: 【黑马程序员合肥】Java入门程序&基础数据类型(转换)&... [打印本页]

作者: 项老师    时间: 2017-8-2 22:50
标题: 【黑马程序员合肥】Java入门程序&基础数据类型(转换)&...
【黑马程序员合肥】Java入门程序&基础数据类型(转换)&逻辑判断&运算等





    摘要: Java入门程序&基础数据类型(转换)&逻辑判断&运算等这些是黑马程序员java基础入门的一个很重要的内容。今天主要给大家简单讲解一下Java入门程序&基础数据类型(转换)&逻辑判断&运算等知识,以后会慢慢讲解黑马程序员的课程内容!
Java入门程序
[AppleScript] 纯文本查看 复制代码
/**
* @author  传智播客
*/
public class HelloWorld {
        public static void main(String[] args) {
                // 打印出一句黑马程序员
                System.out.println("黑马程序员");
        }
}
Java 基础数据类型
[AppleScript] 纯文本查看 复制代码
/**
* @author  传智播客
*/
public class BasicDataType {
        /**
         * 8种基本数据类型
         */
        private byte b = 'a'; // 1字节 取值范围:Byte.MAX_VALUE 和 Byte.MIN_VALUE
        private short s = 1; // 2字节 取值范围:Short.MAX_VALUE 和Short.MIN_VALUE
        private int i = 123; // 4 取值范围:Integer.MAX_VALUE 和 Integer.MIN_VALUE
        private long l = 1234567890;// 8 取值范围:Integer.MAX_VALUE 和 Integer.MIN_VALUE
        private char c = '中'; // 3字节 ...
        private float f = 3.14f; // 4 ...
        private double d = 3.14; // 8 ...
        private boolean e = true;
        /**
         * 8种对应的封装类型
         */
        private Byte bb = 'a';
        private Short ss = 1;
        private Integer ii = 1;
        private Long ll = 1L;
        private Character cc = '中';
        private Float ff = 3.14f;
        private Double dd = 3.14;
        private Boolean bl = false;
        /**
         * String 是最常用的数据类型,但不属于基本数据类型
         */
        private String str = "str";
}
数据类型转换:
[AppleScript] 纯文本查看 复制代码
/**
* @author  传智播客
*/
public class DateTypeConvert {
        /**
         * 类型小--->类型大的转换: 自动转换 byte,short,char->int->long->float-> double
         *
         * 类型大--->类型小的转换:加强制转换
         *
         * 运算的:byte,short,char 当int类型处理,整数编译器默认当int类型,小数默认当double
         */
        public void test() {
                int i = 1;
                long l = i;
                long ll = 1234;
                int ii = (int) ll;
        }
}
逻辑判断:
[AppleScript] 纯文本查看 复制代码

/**
* 逻辑判断 if/else、for、while、do/while、switch
*
* @author  传智播客
*
*/
public class Logical {
        /**
         * if if-else if-else if if-else if else
         *
         * 注意:只有一句话时,可以省略{}
         */
        public void testIF() {
                int i = 20;
                if (i < 20) {
                        System.out.println("小于20!");
                }
                else if (i < 40) {
                        System.out.println("小于40!");
                }
                else if (i < 60) {
                        System.out.println("小于60!");
                }
                else {
                        System.out.println(">=60!");
                }
        }

        /**
         * for fore while do-while
         */
        public void testCycle() {
                for (int i = 0; i < 10; i++) {
                        System.out.println("i=" + i);
                }
                System.out.println("+++++++++++++++++++++++++++");
                int[] is = new int[5];
                // 初始化is数组
                for (int i = 0; i < is.length; i++) {
                        is = i;
                }
                for (int i : is) {
                        System.out.println("i=" + i);
                }
                System.out.println("+++++++++++++++++++++++++++");
                int i = 1;
                while (i > 0) {
                        System.out.println("i=" + i);
                        i++;
                        if (i == 10) {
                                break;
                        }
                }
                System.out.println("+++++++++++++++++++++++++++");
                int x = 1;
                do {
                        System.out.println("x=" + x);
                        x++;
                        if (x == 10) {
                                break;
                        }
                } while (x > 0);
        }

        /**
         * switch
         *
         * 注意:只有用于int,short,char,boolean
         */
        public void testSwitch() {
                Random random = new Random();
                int i = random.nextInt(10);
                switch (i) {
                case 1:
                        System.out.println("i=1");
                        break;
                case 2:
                        System.out.println("i=2");
                        break;
                case 3:
                        System.out.println("i=3");
                        break;
                case 4:
                        System.out.println("i=4");
                        break;
                case 5:
                        System.out.println("i=5");
                        break;
                default:
                        System.out.println("i=" + i);
                        break;
                }
        }

        /**
         * 递归 顾名思义:就是对自己调用
         * @author  传智播客
* @param args
         */
        public int testRecursion1(int i) {
                if (i == 1) {
                        return 1;
                }
                else {
                        // i * testRecursion(i - 1)
                        // 对自己调用,假如i=5-->test(4)-->test(3)-->test(2)-->test(1),然后再返回
                        return i * testRecursion1(i - 1); // 5*testRecursion(4)=5*4*testRecursion(3)=5*4*3*testRecursion(2)=5*4*3*2*1=120
                }
        }

        /**
         * 1、1、2、3、5、8、13 ... Fibonacci数列
         *
         * @return 结果
         */
        public int testRecursion2(int i) {
                if (i == 1 || i == 2) {
                        return 1;
                }
                else {
                        // 递归调用,第三个数等于第一个数加上第二个数的和。Fn=Fn-1+Fn-2
                        return testRecursion2(i - 1) + testRecursion2(i - 2);
                        /**
                         * 分析过程: 例如i=5 main-->i=5
                         * test(5-1)--test(4)--test(3)--test(2)--test(
                         * 1)--test(1)--test(2)--test
                         * (1)--test(3)--test(2)--test(1)--test(3)--test(2)--test(1)
                         */
                }
        }

        /**
         * 使用循环模拟testRecursion2
         * @author  传智播客
* @param args
         */
        public long testRecursion3(int index) {
                if (index < 0) {
                        System.out.println("请输入正确的索引");
                        return -1; // 或 System.exit(0);
                }
                if (index == 1 || index == 2) {
                        return 1;
                }
                // 1,1,2,3...三个数来回倒置
                long f1 = 1L;
                long f2 = 1L;
                long f = 0;
                // f1,f2不用循环,所以少2次循环
                for (int i = 0; i < index - 2; i++) {
                        f = f1 + f2;
                        f1 = f2;
                        f2 = f;
                }
                return f;
        }

        public static void main(String[] args) {
                Logical logical = new Logical();
                System.out.println("testIF:");
                logical.testIF();
                System.out.println("testCycle:");
                logical.testCycle();
                System.out.println("testSwitch:");
                logical.testSwitch();
                System.out.println("testRecursion1:");
                int resoult = logical.testRecursion1(5);
                System.out.println(resoult);
                System.out.println("testRecursion2:");
                resoult = logical.testRecursion2(5);
                System.out.println(resoult);
                System.out.println("testRecursion3:");
                long number = logical.testRecursion3(40);
                System.out.println(number);
        }
}
运算符:
[AppleScript] 纯文本查看 复制代码
**
* 运算符
*
* @author 传智播客
*
*/
public class Operator {
        /**
         * 算术运算符:+,-,*,/,%,++,-- 关系运算符:>,<,>=,<=,==,!= 逻辑运算符:&,|,!,^,&&,||
         * 位运算符:&,|,^,~,>>,<<,>>> 赋值运算符:= 扩展运算符:+=,-=,*=,/= 字符串连接运算符:+
         *
         */

        public void number() {
                int i = 1;
                System.out.println("i:" + i);
                int j = 2;
                System.out.println("j:" + j);
                j++;
                System.out.println("j++:" + j++);
                System.out.println("j:" + j);
                i++;
                System.out.println("i++:" + i++);
                System.out.println("i:" + i);
                i += j; // i=i+j;
                System.out.printf("i+=j:%s", i);
        }

        public static void main(String[] args) {
                new Operator().number();
        }
}
其实在学习java过程中基础还是比较容易,如果大家想学习java基础的知识,欢迎大家可以去传智播客官网http://www.itheima.com/去了解java基础知识!



作者: 真真姐    时间: 2017-8-2 22:54
帅帅帅,顶顶顶
作者: 小皖妹妹    时间: 2017-8-8 16:21
{:8_494:}围观
作者: hguilin    时间: 2017-9-20 12:01
围观+1
作者: Lase    时间: 2017-10-24 19:55
围观
作者: 萌动天辰    时间: 2017-10-24 19:57
打酱油的路过,并瞥了一眼




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2