• 学习JAVA第一课


    终于开始学习JAVA了,希望我可以坚持下去~~


    java程序的拓展名为.java
    java经过编译,可执行文件拓展名为.class
    java的绝大部分语法与C语言相同,如:大小写敏感、分号结尾、注释写法等等

    一、变量和数据类型

    1.整数类型
    整数类型字符数
    byte1个字节
    short2个字节
    int4个字节
    long8个字节

    注意
    ①在java中,高精度的数据不能直接赋值给低精度的变量,除非强制转换
    ②long型的话,数值后面加L
    例如:

    long a = 10098098L;
    
    • 1
    2.实数类型
    实数类型字符数
    float4个字节
    double8个字节

    注意:
    在java中,实数常量默认为double型,所以在float定义的时候,在数值前强制转换或者数值后加“F”
    例如:

    float a = 3.1415F;
    float a = (float)3.1415;
    
    • 1
    • 2
    3.字符类型
    实数类型字符数
    char2个字节

    注意
    在java中,字符类型分为char型和转义字符,java中转义字符的用法与C语言中的用法基本相同

    4.字符串
    String S = "Hello World!";
    
    • 1
    5.布尔类型
    实数类型字符数
    boolean至少1个字节

    注意
    布尔类型的值只有true 和 false

    boolean a = true;
    boolean b = false;
    
    • 1
    • 2

    二、运算符

    运算符类型例如
    关系运算> 、 <、 >=、<=、==、!=
    算术运算+、-、*、/、%
    逻辑运算&&、!
    赋值运算+=、-=、*=、/=、++、–

    java中运算符的用法与C中基本相同

    三、程序流程

    程序流程例如
    顺序
    选择if-[else if]-else、switch-case
    循环while、do-while、for
    控制break、continue

    java中程序流程与C语言中用法基本相同

    四、数组

    1、为什么需要数组?

    C语言:

    int a[10];
    a[0] a[1] ...  a[9]
    int N = 10;  int a[N]; 错误
    
    • 1
    • 2
    • 3
    2、一维数组

    C语言:

    int a[10];
    
    • 1

    Java:

    int[] a = new int[10];
    int   a[] = new int[10];
    
    • 1
    • 2

    Java:

    int[] a = new int[10]; //推荐
    int   a[] = new int[10];
    
    • 1
    • 2

    额外知识:
    1)、数组长度获取
    数组名称.length;
    2)、数组空间是动态分配的

    3、二维数组

    C语言:

    int a[4][5];
    
    • 1

    Java:

    int[][] a = new int[4][5];
    int a[][] = new int[4][5];
    int []a[] = new int[4][5];
    
    • 1
    • 2
    • 3

    额外知识:

    (1)二维数组实际上是一维数组的集合
    int[][] a = new int[4][5];
    实际上定义了4个一维数组,a[0]\a[1]..a[3]
    每个一维数组,都有5个元素
    如a[0]包含a[0][1]...a[0][4]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    编写程序,打印一个二维数组中元素的个数

    class Pro1{
    	public static void main (String[] args) {
    		int[] a = new int[10];
    		int b[] = new int[10];
    		for(int i=0;i<10;i++){
    			a[i] = i+1;
    		}
    		for(int i=0;i<10;i++){
    			System.out.println(a[i]);
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    问题:Java数组能否扩充?不能
    C数组能否扩充?不能

    习题:
    1、对数组进行冒泡排序(降序)
    class Pro1{
    	public static void main (String[] args) {
    		int[] a = new int[]{34, 6, 3, 24, 78, 90, 25, 79, 76};
    		for(int j=0;j<a.length-1;j++){
    			for(int i=0;i<a.length-1-j;i++){
    				if(a[i]<a[i+1])  {
    					int t; t=a[i]; a[i]=a[i+1]; a[i+1]=t;				
    				}
    			}
    		 }
    		for(int t : a){
    			System.out.println(t);
    		}
    		
    		
    		
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    2、计算根号2
    class Pro1{
    	public static void main (String[] args) {
    		double d = 2;
    		double low = 0, high = d;
    		double mid=0;
    		for(int i=1;i<=1000;i++){
    			mid = (low+high)/2;
    			if(mid*mid>d)  high=mid;
    			else                 low  =mid; 					
    		}
    		System.out.println(mid);	
    		
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    3、随机数:将1-100整数字乱序放在数组a[0…99]中

    Math.random()能够生成一个大于等于0,小于1的double随机数

    class Pro1{
    	public static void main (String[] args) {
    		int[] a = new int[100];
    		for(int i=0;i<a.length;i++)  a[i]=i+1;
    		for(int i=1;i<=1000;i++){
    			int L1 = (int)(100*Math.random());
    			int L2 = (int)(100*Math.random());
    			int t; t=a[L1]; a[L1]=a[L2]; a[L2]=t;			
    		}
    		for(int t : a){		
    			System.out.print(t + " ");
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    4、即使是公平的赌博游戏,久赌必输
    class Pro1{
    	public static void main (String[] args) {
    		int mon = 100;
    		for(int i=1;i<=1000;i++){
    			double d = Math.random();
    			if(d<0.5) mon+=20;
    			else         mon-=20;
    			if(mon==0) { System.out.print("输光  ");  break;}
    		}
    		System.out.print("还剩:"+mon);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    MHA高可用配置及故障切换
    1836: 【USACO】Buying Feed(购买饲料)
    Jenkins配置在远程服务器上执行shell脚本(两种方式)
    关于虚拟货币内容发布规则的调整通知
    java计算机毕业设计springboot+vue高校本科学生综评系统
    提示词优化的自动化探索:Automated Prompt Engineering
    客户文章|南方医科大学李克玄团队破解肠道宏病毒与心肌病关系
    从React源码角度看useCallback,useMemo,useContext
    第八章、python中的序列、迭代器、生成器及可迭代对象------迭代器(iterator)与生成器(generator)
    实现一个函数,判断aim是 否是str1和str2交错组成。
  • 原文地址:https://blog.csdn.net/weixin_62529383/article/details/126881333