当前位置:网站首页 > Java基础 > 正文

java基础语言总结



一基础:

1.数据类型:

   八大基本数据类型:byte short char int long float double。注意:float声明赋值时要在后面加上" f "符号。

   引用数据类型:
      类(class):如,字符串String
        接口(interface)
      数组(array)

2.标识符,关键字:

  注意:String 不是关键字,是类。

     goto和const是保留关键字,一般都不使用。

3.变量:

    成员变量:在方法体外,类中声明的变量。

         静态变量:声明时要在成员变量类型前加上关键字"static"。

         实例变量。

    局部变量:在方法体内声明的变量。

    当方法内的局部变量 i 和类的变量 i 重命,那么在该方法内局部变量会替换掉类的变量。

4.运算符

  运算时,整数类型默认为int类型,浮点数类型默认为double类型,都应强制性转换。

  "+="或"-="运算结果为原来类型,不需强制性转换。

  自增:

    "++a"与"a++"区别:"++a"是先增加再运算,"a++"是先运算,再增加。自减同理。

  &与&&的区别:当第一个表达式为假时,&&符号则不需要执行第二个表达式,而&则无论如何都要执行。

  |与||的区别:同理。

  位运算符:

    按位与"&":同为1,才为1。

    按位或"|":同为0,则为0。

    按位取反"~":二进制1改为0,0改为1。

    移位操作:移位操作效率高。

          <<:左移

          >>:右移

          >>>:无符号右移

  三元运算符

5.数据类型转换:

        int a = (int) 1.3;

练习:

 1.写出运算结果

class Number{ public static void main(String[] args){ int a=3,b=8; int c=(a>b)?a++:b++; System.out.println("a="+a+" b="+b+" c="+c); int d=(a>b)?++a:++b; System.out.println("a="+a+" b="+b+" d="+d); int e=(a<b)?a++:b++; System.out.println("a="+a+" b="+b+" e="+e); int f=(a<b)?++a:++b; System.out.println("a="+a+" b="+b+" f="+f); } }

---------- java ----------

a=3 b=9 c=8
a=3 b=10 d=10
a=4 b=10 e=3
a=5 b=10 f=5

3.char型变量中能不能存贮一个中文汉字?为什么?
答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,
所以放一个中文是可以的。

二流程:

1.if-else流程

  语法:

      if(判断表达式){
        为true时执行
      }else{
        为false时执行
      }

  注意:若无{},有多个if、else时,else与最近的if组成一对。

2.switch流程

  语法:   

    switch(变量){
      case 常量1:
          语句1;
          break;
      case 常量2:
          语句2;
          break;
      … …
      case 常量N:
          语句N;
          break;
      default:
          语句;
          break;
    }

  注意:写的时候不要忘记写break,没有break会全部执行,结果不一样。

     switch()内可以是byte,short,char,int,String等,不可用浮点类型和long类型。

3.for流程

  语法:

    for(初始化部分; 循环条件部分; 迭代部分) {

        循环体部分

    }

  语法:foreach  作用:遍历数组a

    for(int i : a) {

    }

    注意:{}不可省略

4.while流程与do-while流程

  while语法:

    [初始化]

    while(布尔值表达式) {

      循环语句;

      迭代语句;

    }

  do-while语法:

    [初始化]

    do{

      循环语句;

      迭代语句;

    }while(布尔值表达式);

  区别:do-while无论如何至少会执行一次,而while只有布尔值表达式为true时才会执行。

  注意:do-while的while()后面要加上";"。

5.break语句

   语法1:用于结束所在的一层循环块。

      {

        break;

      }

   语法2:break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

    label1: {
      label2: {
        label3: {
          break label2;
        }
      }
    }

6.continue语句

   语法1:用于提前结果本次循环。

      {

        continue;

      }

   语法2:在某个循环体前加上标号,在continue后使用该标号,从而提前结果这个循环体的本次循环。

        与break类似。

7.return语句

    用于中止方法的。

    return 后面只能根返回值且return后面的返回值类型必须跟方法的返回值类型一致。

    注意:

    break,continue,return共同点:后面不能再直接紧跟任何语句,否则编译错误提示:无法访问的语句。

练习:

1.从键盘分别输入年、月、日,判断这一天是当年的第几天。

 1 public class Test {  2 public static void main(String[] args) {  3 Scanner scanner = new Scanner(System.in);  4 System.out.println("输入year:");  5 int year = scanner.nextInt();  6 System.out.println("输入month:");  7 int month = scanner.nextInt();  8 System.out.println("输入day:");  9 int day = scanner.nextInt(); 10 int sumDay = 0; 11 switch (month) { 12 case 12: 13 sumDay += 30; 14 case 11: 15 sumDay += 31; 16 case 10: 17 sumDay += 30; 18 case 9: 19 sumDay += 31; 20 case 8: 21 sumDay += 31; 22 case 7: 23 sumDay += 30; 24 case 6: 25 sumDay += 31; 26 case 5: 27 sumDay += 30; 28 case 4: 29 sumDay += 31; 30 case 3: 31 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ 32 sumDay += 29; 33 } else { 34 sumDay += 28; 35  } 36 case 2: 37 sumDay += 31; 38 case 1: 39 sumDay += day; 40 41  } 42 System.out.println(year + "年" + month + "月" + day + "日是今年的第" + sumDay 43 + "天"); 44  } 45 } 

2.打印如下图形

//上半部分 for(int i = 0;i < 5;i++){ //输出“-” for(int j = 0;j < 4-i;j++){ System.out.print(" "); } //输出“* ” for(int k = 0;k < i+1;k++){ System.out.print("* "); } System.out.println(); } //下半部分 for(int i = 0;i < 4;i++){ for(int j = 0;j < i+1;j++){ System.out.print(" "); } for(int k = 0;k < 4-i;k++){ System.out.print("* "); } System.out.println(); }

3.输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。

例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

class ShuiXianHua{ public static void main(String[] args){ for(int i = 100;i < 1000;i++){//实现所有的三位数的一个遍历 int j1 = 0; int j2 = 0; int j3 = 0; j1 = i / 100;//百位 j2 = (i - 100*j1) / 10;//十位 j3 = i - 100*j1 - 10*j2;//个位 if( i == j1*j1*j1 + j2*j2*j2 + j3*j3*j3){ System.out.println("此数值为满足条件的水仙花数:" + i); } } } }

三字符串:

1. 类代表字符串。

2.String 常用方法:

四数组:

1.一维数组  

  数据组的定义:数据类型[] 数组变量名。
    静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
          如int[] array2 = {0, 1, 2};//数组间的元素使用英文逗号","分隔。
          int[] array3 = new int[]{0, 1, 2};

    动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行。
          如int[] array4 = new int[3];
          array4[0] = 0;array4[1] = 1;array4[2] = 2;  

  注意:
    1.数组初始化时,必须指定长度。
    2.数组的每个元素跟类的成员变量一样,都会被默认初始化,且基本数据类型初始值为相应的类型初始化值,而引用数据类型的初始化值为null。

2.多维数组

      格式1(动态初始化):int[][] arr = new int[3][2];

      格式2(动态初始化):int[][] arr = new int[3][];
      每个一维数组都是默认初始化值null (注意:区别于格式1)

3.数组常用方法

    
            如果两个指定的 int 型数组彼此相等,则返回 true

练习:

1.冒泡排序和选择排序

public class Sort{ public void bubble(int[] array){ if(array == null || array.length == 0){ return; } System.out.println("排序前:" + Arrays.toString(array)); int len = array.length; for(int i = 0; i < len - 1; i++){//为什么是len - 1,因为最后一个不需要再去排序 for(int j = 0; j < len - 1 - i; j++){//为什么是len - 1 - i。因为每一次排序都会把最大的放到最后 if(array[j] > array[j + 1]){ array[j] = array[j] ^ array[j + 1]; array[j + 1] = array[j] ^ array[j + 1]; array[j] = array[j] ^ array[j + 1]; } } } System.out.println("冒泡排序后:" + Arrays.toString(array)); } public void select(int[] array){ if(array == null || array.length == 0){ return; } System.out.println("排序前:" + Arrays.toString(array)); int len = array.length; for(int i = 0; i < len - 1; i++){ int minIndex = i; for(int j = i + 1; j < len; j++){ if(array[minIndex] > array[j]){ minIndex = j; } } if(minIndex != i){ array[minIndex] = array[minIndex] ^ array[i]; array[i] = array[minIndex] ^ array[i]; array[minIndex] = array[minIndex] ^ array[i]; } } System.out.println("选择排序后:" + Arrays.toString(array)); } }
public class SortDemo{ public static void main(String[] args){ java基础语言总结 int[] array = {49, 38, 65, 97, 76, 13, 27, 49}; Sort sort = new Sort(); sort.bubble(array); sort.select(array); } }

    

  

    

    

    

    

  • 上一篇: java相关基础
  • 下一篇: java scoket 基础
  • 版权声明


    相关文章:

  • java相关基础2025-03-31 17:42:00
  • java基础300集最全教程2025-03-31 17:42:00
  • java基础编程课件2025-03-31 17:42:00
  • 黑马java基础教学2025-03-31 17:42:00
  • 经典java基础教程2025-03-31 17:42:00
  • java scoket 基础2025-03-31 17:42:00
  • java基础面试专题2025-03-31 17:42:00
  • java的基础框架2025-03-31 17:42:00
  • java异常基础讲解2025-03-31 17:42:00
  • java零基础入门书籍2025-03-31 17:42:00