• (二)Java编程基础


    目录

    一、关键字与保留字

    二、标识符与变量

    三、基本数据类型的转换

    四、运算符

    五、分支语句

    五、循环语句

    六、跳转语句

    七、Java从键盘读取输入


    一、关键字与保留字

    定义:①关键字:Java关键字是电脑语言里事先定义的,有特别意义的标识符(字符串) 。

               ②保留字:现版本jdk中未被定义为关键字,将来版本中可能会使用的标识符(字符串)。

    二、标识符与变量

    1、定义:

    ①变量:能储存计算结果或能表示值的抽象概念,可对其进行定义、赋值等操作。

    ②标识符:对各种变量、方法和类等命名时使用的字符序列称为标识符。

    2、标识符命名规则:(建议使用驼峰命名法

    ①开头:英文字母、'_' 、'$',且不可数字开头更不可全部使用数字。

    ②不可使用关键字、保留字,但可包含。

    ③Java中严格区分大小写,且不可包含空格。

    注意:常量名建议全部大写,文件名与类名相同且首字母必须大写,若由多个单词组成则第二个单词首字母大写。

    3、变量分类(按照数据类型)

    ①基本数据类型:

    ②引用数据类型:

    注意:

    ①String(字符串)不属于基本数据类型。

    ②除了基本数据类型的8种,均属于引用数据类型。

    三、基本数据类型的转换

    1、自动转换

    注意:

    ①只可按照上图从前向后自动转换(char->int、char->float等),不可逆向。

    ②char型转换为int型时,按照ASCII码大小。

    2、强制转换

    案例1:将int类型的num转换成char类型。

    package day11;
    
    public class Test {
    	public static void main(String[] args) {
    		int num=97;
    		char ch=(char)num;
    		System.out.println(ch);
    	}
    }

    运行结果:

    案例2:汉字编码(补充)

    public class Test {
    	public static void main(String[] args) {
    		char ch1='赵';
    		int num=(int)ch1;
    		System.out.println(num+"
    "+"赵后面的是个汉字分别是:");
    		for(int i=1;i<=10;i++) {
    			System.out.print((char)(num+i)+" ");
    		}
    	}
    }

    运行结果:

    注意:案例2意味每个汉字都有其编码序号。

    案例3:当字符串前后包含'+'时(补充)

    package day11;
    
    public class Test {
    	public static void main(String[] args) {
    		String str=1+2+"hello"+4+5;
    		System.out.println(str);
    	}
    }
    

    运行结果:

    注意:当字符串前、后包含'+'时,前面做正常运算,后面做拼接。

    四、运算符

    1、算数运算符:+、-、*、/、%、++、-- ...(用法c相同)

    2、赋值运算符

    案例:比较num1=num1+1和num1+=1

    结论:前者不能自动强制转换,后者可以

    3、比较运算符:==、!=、<、<=、instanceof(检查是否是类的对象)

    案例:instanceof 用法

    “Hello” instanceof String 返回值:true

    4、逻辑运算符:&、|、!、&&、||、^

    注意:

    ①&与&&区别(|与||同理):当左边为true时前者继续比较右边但后者不在比较

    ②亦或:两边同号为false,异号为true

    5、位运算符:<<、>>、>>>(无符号右移)、&、|、^、~(求反码)

    注意:

    ①3<<4=48 等价于 3*2^4

    ②反码、补码原理要清楚(0正1负)、正数原码按位取反末位加1=负数

    6、三目运算符

    public class Test {
        public static void main(String[] args) {
            int n=1,m=2;
            System.out.println(n<m?n:m);
        }
    }

    注意:三目运算符可嵌套。

    五、分支语句

    1、if语句

    2、switch语句

    public class Test {
    	public static void main(String[] args) {
    		int num=1;
    		switch (num) {
    		case 1:
    			执行语句1;
    			break;
    		default:
    			执行语句2;
    			break;
    		}
    	}
    }

    注意:两者区别不大,个人喜欢用if,但switch效率要高。

    五、循环语句

    1、for循环

    案例:从0打印到9

    package day11;
    
    public class Test {
    	public static void main(String[] args) {
    		for(int i=0;i<10;i++) {
    			System.out.print(i+" ");
    		}
    	}
    }

    运行结果:

     

    2、while循环

    案例:从0打印到9

    package day11;
    
    public class Test {
    	public static void main(String[] args) {
    		int num=0;
    		while(num!=10) {
    			System.out.print(num+" ");
    			num++;
    		}
    	}
    }

    运行结果:

    3、do...while(终止条件)

    案例:做课程设计时用到了do...while(终止条件),感觉交互性很好。

    部分代码:

    void inserts(linklist L)
    {
        char c1='y';
        do {
            system("cls");
            traverse(L);
            cout<<"请分别输入选手的编号和姓名"<<endl;
            infor stu;
            stu.num=0,stu.rank=-1;
            cin>>stu.id>>stu.name;
            if(judge(L,stu.id)){
                cout<<"数据有误!"<<endl;
                continue;
            }
            insert(L,stu);
            cout<<"是否继续添加选手信息(y/n)?"<<endl;
    		cin>>c1;
    		if(c1=='y'){
    
    		}else if(c1!='n'){
    			cout<<"输入有误,请重新输入!"<<endl;
    		}
        }while(c1!='n');
    }

    运行结果:直到输入'n'时才退出系统

    六、跳转语句

    1、break:跳出循环

    2、continue:结束本次循环,开始下次循环

    3、return:结束程序

    七、Java从键盘读取输入

    1、单组输入:

    package day11;
    
    import java.util.Scanner; //导类
    
    public class Test {
    	public static void main(String[] args) {
    		Scanner cin=new Scanner(System.in); //使用Scanner定义cin
    		
    		String str=cin.nextLine();//读取字符串
    		
    		String str1=cin.nextLine();//读取字符:先读取字符串,再使用charAt转换
    		char ch=str1.charAt(0);
    		
    		int num=cin.nextInt();//读取整数
    		
    		System.out.println("str:"+str);//输出数据
    		System.out.println("ch:"+ch);
    		System.out.println("num:"+num);
    	}
    }
    

    2、读取到文件结束(多组输入):

    package day11;
    
    import java.util.Scanner; //导类
    
    public class Test {
    	public static void main(String[] args) {
    		Scanner cin=new Scanner(System.in); //使用Scanner定义cin
    		while(cin.hasNextLine()) {
    			int num=cin.nextInt();
    			System.out.println(num);
    		}
    	}
    }
    

    3、固定组输入:

    package day11;
    
    import java.util.Scanner; //导类
    
    public class Test {
    	public static void main(String[] args) {
    		Scanner cin=new Scanner(System.in); //使用Scanner定义cin
    		int n=cin.nextInt();
    		while(n-->0) {
    			int num=cin.nextInt();
    			System.out.println(num);
    		}
    	}
    }
    

    不足之处请留言!

  • 相关阅读:
    Android Studio的project中两个build.gradle配置的区别
    build script和all projects作用和区别
    让overflow:auto页面滚动条出现时不跳动
    GreenDao设置数据版本
    Greendao 缓存问题
    js中文编码到C#后台解码
    content-type: application/json没有设置导致的500错误
    Android的Device File Explorer刷新文件
    adb server version (31) doesn't match this client (40); killing...
    Sqlserver远程过程调用失败
  • 原文地址:https://www.cnblogs.com/ldu-xingjiahui/p/12594034.html
Copyright © 2020-2023  润新知