zoukankan      html  css  js  c++  java
  • day02(基础)

    一、java数据类型

    (1)8种基本数据类型

    (2)引用数据类型 class 、array、interface

    (3)数据类型得转换,java中short和byte会自动转换成int类型计算

    package BaseData;

    /**
    *
    */

    public class TestDemo1 {

    public static void main(String[] args) {
    byte num1=5;
    short num2=6;
    //编译器会报错
    // short c=num1+num2;
    int c=num1+num2;
    System.out.println(c);

    long d=10;
    long f=c+d;

    }
    }



    二、逻辑运算符,短路与和短路或得理解
    package BaseData;

    import org.junit.Test;

    import javax.jws.soap.SOAPBinding;

    /**
    * 短路与和短路或的理解
    *
    */


    public class TestDemo2 {
    public static void main(String[] args) {
    boolean boo1=true;
    boolean boo2=false;
    testBool(boo1,boo2);

    }
    //测试短路与和短路或的方法
    static void testBool(boolean boo1,boolean boo2){
    //短路或,如果第一个表达式是true,那么就不会执行后面的表达式
    if(boo1||boo2){
    System.out.println("会执行这条语句");
    }
    //短路与
    else if(boo2&&boo1){
    System.out.println("不会执行这条语句");

    }

    }
    }

    三、分支和循环

    if.....else练习

    package BaseData;

    import java.util.Scanner;

    /**
    * 测试if else练习
    * Case 1: 猜数字
    * 随机生成一个100以内的整数(Math.random()*100) target
    * 程序接收输入的数字,如果小于target,打印“错,小了”
    * 如果大于target,打印“错,大了”
    * 如果输入正确,则打印”哈哈,恭喜你猜对了!!!”
    */

    public class TestDemo3 {
    public static void main(String[] args) {
    int num=(int)Math.random()*100;
    Scanner scanner=new Scanner(System.in);
    System.out.println("请输入一个数:");
    int num2=scanner.nextInt();
    while (scanner.hasNext()){
    if(num==num2){
    System.out.println("哈哈,恭喜你猜对了");
    break;
    }else if(num>num2){
    System.out.println(num+">"+num2+":猜错了,小了");
    }else {
    System.out.println(num+"<"+num2+":猜错了,大了");
    }

    }
    }
    }


    switch case练习
    package BaseData;

    public class TestDemo4 {
    public static void main(String[] args) {
    Season a=Season.AUTUMN;
    //switch中的表达式可以是int ,也可以字符串、字符
    switch (a){
    case SPRING:{
    System.out.println("春天到了,花开了");
    break;
    }
    case SUMMER:{
    System.out.println("夏天到了,该去游泳了");
    break;
    }
    case AUTUMN:{
    System.out.println("秋天到了,落叶了");
    break;

    }
    case WINTER:{
    System.out.println("冬天到了,去滑雪把");
    break;

    }
    //兜底,保证程序健壮
    default:
    System.out.println("超出枚举类型");

    }

    }

    enum Season{
    SPRING,SUMMER,AUTUMN,WINTER
    }
    }

    for循环和while循环
    package BaseData;

    /**
    * 测试for 循环和while循环
    * 练习:求1到100内的偶数
    */

    public class TestDemo5 {
    public static void main(String[] args) {
    int i=100;
    System.out.println(tesFor(i));
    System.out.println(testWhile(i));

    }
    static int tesFor(int num){
    int sum=0;
    for(int i=0;i<num;i++){
    sum+=i;

    }
    return sum;
    }
    static int testWhile(int num){
    int sum=0;
    int i=1;
    while (i<num){
    sum+=i;
    i++;
    }
    return sum;

    }
    }



    四、数组

    1、数组的基本使用

    package cn.zxg.arrays;

    /**
    * 测试数组,数组的基本使用
    */

    public class TestArrays {
    public static void main(String[] args) {
    //声明数组类型和长度
    int[] arr01=new int[10];

    for (int i=0;i<arr01.length;i++){
    arr01[i]=i*10;
    System.out.println(arr01[i]);

    }
    }
    }

    2、数组的三种初始化方式
    package cn.zxg.arrays;

    /**
    * 测试数组的三种初始化方式
    */

    public class Test02 {
    public static void main(String[] args) {
    //1、静态初始化
    int []a={2,4,56};
    User [] b={
    new User(100,"张三"),
    new User(101,"里斯"),
    new User(102,"王五")
    };
    //2、默认初始化
    int []c=new int[3];//默认给数组进行赋值,和成员变量赋值一样
    //3、动态初始化
    int [ ] d= new int[10];
    for (int i=0;i<d.length;i++){
    d[i]=i*10;
    }

    }
    }
    3、数组遍历
    package cn.zxg.arrays;

    /**
    * 通过foreach读取数组中的元素
    */
    public class Test03 {
    public static void main(String[] args) {
    int [] arr=new int[10];
    //动态初始化数组
    for(int i=0;i<arr.length;i++){
    arr[i]=i*100;

    }
    String [] s={"aa","bb","cc"};
    //使用foreach遍历数组
    for (int m:arr) {
    System.out.println(m);

    }
    for (String a:s
    ) {
    System.out.println(a);
    }
    }
    }

    五、面向对象
    对象在jvm内存变化过程
    JVM内存分为栈、堆、方法区
    栈的特点:
    1、栈描述的是方法执行的内存模型。每个方法执行被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)
    2、JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)
    3、栈属于私有的,不能实现线程间的共享
    4、栈的存储特性是“先进后出,后进先出”
    5、栈是由系统自动分配的,速度快。

    堆特点:
    1、堆用于存储创建好的对象和数组
    2、jvm只有一个堆,被所有线程共享
    3、堆是一个不连续的内存空间,分配灵魂,速度慢
    方法区:
    1、jvm只有一个方法区,被所有线程共享
    2、方法区实际也是堆,只是用于存储类、常量相关信息
    3、用来存放程序中永远是不变或唯一的内容(class对象,静态变量、字符串常量)

    
    


    
    
  • 相关阅读:
    高速排序
    Android 中实现分享和第三方登陆---以新浪微博为例
    linux下用mail发送邮件
    hello.c内核模块编译 -- linux内核
    最小生成树
    JDBC连接Oracle数据库
    解决方案:zabbix(WEB界面的提供分布式系统监视以及网络监视功能)
    Grunt:grunt-tmod
    打包器:Webpack
    模板:art-template-loader
  • 原文地址:https://www.cnblogs.com/zzzao/p/10964902.html
Copyright © 2011-2022 走看看