Java小白入门总结

  1. static final double PI=3.14;//使用常量时记得声明变量类型和变量名大写;

  2. 进制 二进制0b 十进制 八进制0 十六进制0x 所有的字符本质还是数字;

    位运算符 & | ^ ~
    * A = 0011 1100
    * B = 0000 1101
    *----------------------------
    * A&B = 0000 1100 & : 都为1才为1,否则为0
    * A|B = 0011 1101 | : 都为0才为0,否则为1
    * A^B = 0011 0001 ^ : 两个相同则为0,否则为1异或运算符
    * ~B =1111 0010 ~ : 与B相反
    *
    * 效率极高!!!!
    * << *2 左移位符 逢二进一
    * >> /2 右移位符

    
    编码 Unicode 表:(97=a  65=A)  2字节   0-65536
    
    
    
    
    •  float 有限  离散  舍入误差  大约  接近但不等于
       *      所以,最好避免使用浮点数进行比较
       */
      float f=0.1f; //0.1
      double d=1.0/10; //0.1
      System.out.println(f==d); //false
      
      float d1=235626532f;
      float d2=d1+1;
      System.out.println(d1==d2);  //true&&&&
      

      char c=‘a’;
      int d=c+1;
      System.out.println(d);// 98
      System.out.println((char)d);// b

    //String字符串在前时,后面的数会当成字符串拼接
    System.out.println(""+a+b); //1020
    System.out.println(a+b+""); //30

    
    
    
    
  3. 养成良好习惯,shift+ctrl+F对eclipse的代码进行格式化,换行用tap健和上下左右键【尽量避免反复空格】,养成建包的好习惯。

  4. 笔记本程序开发四步走;(建立工程;手动编写Java文件;javac命令将Java文件编译为.class字节码文件;java命令运行字节码文件)

  5. 集成开发环境是指程序开发环境和程序调试环境在一起;main方法不是关键字,main()方法是Java程序的入口点;main()方法的四要素包含public,static ,String[]args,void四要素都是关键字

  6. String不是关键字,是个final类。short不常用也是八大基本类型之一,String不在包含内。

  7. 变量名不可以用大写字母,数字,开头;可以用$下划线开头;变量名称中不可以包含%#等特殊字符;[Java标识符不一定是变量,可以首字母大写,例如类名,工程名]标识符:

  8. Boolean是1位 ,

  9. typora位置英文模式下esc键下面 的数字;三个和语言类型可以建立特定语言的代码块;ctrl+w关闭文档 ;ctrl+shift+esc打开任务管理器;ctrl+shift+delete进行电脑强制重启

  10. JAVA Error occurred during initialization of VM

在VM初始化期间发生JAVA错误

虚拟机内存不够,可能是因为控制台的小红方格子一直没有关闭,因为手动的所以必须要关闭

  1. switch 结构必须要有switch和case;不一定要有default和break,贯穿性!判断条件类型有

    byte,short ,int ,String ,enum ,char,不包含float,double;

  2. 随机数强制转换: int discount=(int)(Math.random*9+1); 折扣1-9折; int强制类型转换时应该作为一个整体,否则编译错误

    在Java中,下面代码的输出结果为( )
    public static void main(String[] args) {
    		int x=2;
    		double y=2.5;
    		System.out.println(int(x+y));
    }
    //输出语句中int(x+y)应为(int)(x+y),    输出结果不是4
    
  3. for循环 初始化(迭代变量);循环条件;循环体;迭代部分【后进行判断是否再次进入循环条件,循环体】

  4. continue 跳出本次循环;继续下次循环;break结束当前内层循环;return相当于flag=false,不再继续往结构单元代码块下走。flag在判断数组中是否含有某数,或删除某个元素时使用,一组数中是否包含某数;

    package test0909;
    //
    public class DoubleCycle {
    public static void main(String[] args) {
    	int  i,j,x=0;
    	for (i=0;i<2;i++){
    	     x++;              //第一次x=1;
    	     for(j=0;j<=3;j++ ){//内部循环走完之后才走外部, 出现continue当前for循环不往下走,
    	    	 /**j=0,2跳过,j=1,3 时,for循环每次加1;所以此时for内结束循环+2 ,然后x=3;
    			 *
    			 * */
    	           if(j%2 == 0) continue;
    	           x++;
    	        }
    	    x++;//for结束加1,第一次结果 x=4; 因为两次循环所以最终结果为8
    	} 
    	System.out.println(x);
    
    }
    }
    
    
  5. 使用数组原因:当用变量存储数据时,存储大量数据不能满足需求,所以需要用到数组,但必须保证变量类型相同;使用循环原因是许多相似代码冗余,;

  6. 三个数或两个数要求换位置从小到大顺序,借助中间量temp进行交换;实现数字反转while(while num!=0){int mod=num%10//个位上的余数;十位到万位的数字依次 num/=10;}顺序输出mod就可以了;

  7. continue本次循环跳过,比如求不含七的倍数一定范围的数;

  8. 有百分号时求比例必须先乘后除--------------比例为"+count*100/4+"%"

  9. 旧数组中剔除元素后获得新数组,先遍历旧数组元素,判断新数组元素个数(新数组长度),剔除元素符合条件的开始计数count;然后声明并给新数组开辟空间,元素个数刚才count已求出,必须是获得个数后才建立数组,否则下标越界, int newArr[]=new int[count];

    package test0909;
    /**
     *现在有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 
     *要求将以上数组中的0项去掉,将不为0的值存入一个新的数组,
     *生成新的数组为 int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}
     * */
    public class DelZero {
    
    	public static void main(String[] args) {
    		int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
    		int count=0;//新数组中的元素个数,旧数组中不为0的个数;新数组长度
    		
    	    int index=0;//新数组的每个元素的下标
    	    //遍历旧数组中所有元素,获得新数组长度,
          for (int i = 0; i < oldArr.length; i++) {
    			
    			if (oldArr[i]!=0) {
    				count++;
    				
    			}
    		}
    	    
    	    int newArr[]=new int[count];//声明并给新数组开辟空间;此时已经获得了新数组的数组长度;
    		for (int i = 0; i < oldArr.length; i++) {
    			
    			if (oldArr[i]!=0) {
    			
    				 newArr[index]=oldArr[i];//旧数组中符合新数组中元素进行赋值
    				 index++;
    			}
    		}
    		for (int i = 0; i < newArr.length; i++) {
    			System.out.print(newArr[i]+"  \t ");
    		}
    	}
    
    }
    

    16.当经过多长时间会超过,连续迭代时用while(变量名<额度);

    17.代码尽量不要引入过多变量,尽量自增;如

    pay=money*0.75;直接写money*=0.75;
    

    18.注释时斜杠向左;换行符和制表符(可以多出来一个空格)的斜杠向右,也叫反斜杠;

    19.break后不能有任何代码,括号要成对出现,当if后只有一句语句时可以省略大括号,切记代码规范要有缩进

    20。path带有bin;classpath指具体类所在目录;java中环境的配置。classpath和path,从字面上来看,classpath比path多了一个class,即是’类’的意思,所以,classpath配置的是类的路径,path配置的是包或者二进制文件夹的路径。比如配置JDK的时候,classpath配置指向具体的JAR文件(rt.jar\tools.jar),在path中,指向的是jdk\bin的路径 path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去path环境变量中配置的路径去找classpath环境变量里记录的是java类的运行文件所在的目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RNUh56Tx-1599838307355)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1599647036638.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eYfIVyu9-1599838307357)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1599646796599.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfcrCxve-1599838307359)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1599625271324.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wkxx3GWU-1599838307360)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1599625682536.png)]

1变量、运算符和类型转换

1.1手动输入一个学生的成绩,对这个成绩进行一次加分,加当前成绩的20%,输出加分后成绩
package test0908;
/**手动输入一个学生的成绩,对这个成绩进行一次加分,加当前成绩的20%,输出加分后成绩
 * */
import java.util.Scanner;

public class Score {
   
   public static void main(String[] args) {
   
	Scanner input=new Scanner(System.in);
	System.out.println("请输入一个整数");
	int score=input.nextInt();
     score+=0.2*score;
	System.out.println(score);
}
}
1.2商场举行店庆,抽几折打几折, 先手动输入消费金额,再输入,抽到的折扣,计算出折后价格
package test0908;
/**
 * 商场举行店庆,抽几折打几折, 先手动输入消费金额,再输入,抽到的折扣,计算出折后价格
 * */
import java.util.Scanner;

public class Price {
   
	   public static void main(String[] args) {
   
			Scanner input=new Scanner(System.in);
			System.out.println("请输入一个金额");
			double price=input.nextInt();
			//System.out.println("请输入一个折扣");
			//int discount=input.nextInt();
            int discount =(int)(Math.random()*10+1);//随机数生成
			System.out.println(price*discount*0.1);
		}
1.3手动输入一个4位数,求各位数字之和
package test0908;

import java.util.Scanner;
//.手动输入一个4位数,求各位数字之和
public class NumSum {
   
public static void main(String[] args) {
   
	Scanner sc=new Scanner(System.in);
	System.out.println("输入一个四位数");
	int num=sc.nextInt();
	int ge=num%10;//个位数字
	int shi=num/100%10;//十位数字
	int bai=num/10%10;//百位数字
	int qian=num/1000;//千位
	int sum=ge+shi+bai+qian;
	System.out.println("数字之和为:"+sum);
}
}

2分支结构

2.1商场消费返利活动,手动输入顾客消费金额, 如果金额打8折后仍然满1000元,用户就获得200元代金券一张(不考虑多张)
package test0908;

import java.util.Scanner;

//1商场消费返利活动,手动输入顾客消费金额, 如果金额打8折后仍然满1000元,用户就获得200元代金券一张(不考虑多张
public class Voucher {
   
public static void main(String[] args) {
   
	Scanner sc=new Scanner(System.in);
	System.out.println("输入消费金额");
	double money=sc.nextDouble();
     money*=0.8;
	if (money>1000) {
   
        money-=200;
		System.out.print("恭喜获得200代金券");
	}else {
   
        
		System.out.print("谢谢惠顾");
	}
   System.out.println(",应支付"+money+"元");
}
}
2.2用户输入一个年份,如果是闰年输出是闰年 (年份能被4整除,且不能被100整除,或者能被400整除的年份)
package test0908;
//用户输入一个年份,如果是闰年输出是闰年 (年份能被4整除,且不能被100整除,或者能被400整除的年份
import java.util.Scanner;

public class LeapYear {
   
public static void main(String[] args) {
   
	Scanner input=new Scanner(System.in);
	System.out.println("输入年份");
	int year=input.nextInt();
	if ((year%4==0&&year%100!=0)||year%400==0) {
   
		System.out.println("该年是闰年");
	}else {
   
		System.out.println("平年");
	}
}
}


2.3手动输入一个整型会员号, 如果用户输入的是4位数字, 输出登录成功, 如果用户输入的不是4位数字, 输出“您输入的会员号有误”
package test0908;

import java.util.Scanner;

//2.3手动输入一个整型会员号, 如果用户输入的是4位数字, 输出登录成功, 如果用户输入的不是4位数字, 输出“您输入的会员号有误”
public class CardNum {
   
public static void main(String[] args) {
   
	Scanner sc=new Scanner(System.in);
	System.out.println("输入卡号");
	String cardnum=sc.next();
	if (cardnum.length()==4) {
   
		System.out.println("登录成功");
	}else {
   
		System.out.println("您输入的会员号有误");
	}
}
}
2.4手动输入a,b,c三个变量的数值, 要求通过数值交换, 把输入的数值从小到大 排序放入a,b,c中,并输出
ppackage test0908;

import java.util.Scanner;
//2.4手动输入a,b,c三个变量的数值, 要求通过数值交换, 把输入的数值从小到大 排序放入a,b,c中,并输出
public class MaxNum {
   
public static void main(String[] args) {
   
	Scanner sc=new Scanner(System.in);
	System.out.println("请输入a值");
	int a=sc.nextInt();
	System.out.println("请输入b值");
	int b=sc.nextInt();
	System.out.println("请输入c值");
	int c=sc.nextInt();
	int temp=0;//临时变量交换两数,如果不大于,不用交换;最后a的值确保最小()
	if(a>b) {
   
		temp=b;
		b=a;
		a=temp;
	}
	if(a>c) {
   
		temp=c;
		c=a;
		a=temp;
	}
	if(b>c) {
   
		temp=c;
		c=b;
		b=temp;
	}
	System.out
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_45442261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值