JAVA基础2

关键字和保留字

关键字:被JAVA赋予特殊含义的的,所有的关键字都是小写的。
	   特殊的:严格意义上是不是关键字,但是标识符不可以使用(true、false、null)
保留字:是现在JAVA还未用,但留在将来用的关键字:(goto 、const)

命名规范
命名时要(见名制意),根据名称就知道意思

包名:所有单词都小写  xxxyyyzzz
类名:类的首个字母大写,即多个单词都首字母大写  XxxYyyZzz
变量名:首个单词小写,之后每个单词首字母大写  helloWorld
常量名:每个单词都大写,单词之间使用下划线  XXX_YYY_ZZZ

变量
变量是内存中的一个存储区域,用于在内存中保存数据。变量必须先声明和初始化,再赋值

数据类型分类

{
1).八种基本数据类型:
基本类型
整数型(byte、short、interesting、long) 整形默认为int  (运算时自动类型转换)
浮点型(float、double) 
字符型(char)、布尔型、)
定义float时需要加f,否则会默认小数为double型,long需要加L,否则会默认为int型
float(4字节)类型比long(8字节)类型表示的数字大,float是科学计数法
		String s = "132";
        //int a = (int)s;   //这里的强制转换是错误的。String 不可以转换为基本类型

2).三种引用类型:
(类、接口、数组 )
String 属于引用数据类型,String是一种类。String可以和8种基本数据类型做连接运算。

*看连接的位置(“连接的前后位置很关键”)
System.out.println(10+10+"bbb");     //输出为20bbb
System.out.println(10+"bbb"+10);     //输出10bbb10
System.out.println("bbb"+10+10);     //输出bbb1010

cmd直接输在文件路径上可以直接进入到该路径下
在这里插入图片描述
输入cmd,回车
在这里插入图片描述
二进制(了解)

	了解进制之间的转换(二、八、十、十六)进制
	所有的数值,不管征服在计算机底层都已补码的形式存储
	原码、补码、反码之间的区别(了解)

运算符

算术运算符:(+、-、*、/、%、++、--、)
赋值运算符:(=、+=、-=、*=、/=、%=)
比较运算符:(==、!=、<、>、<=、>=、instanceof)instanceof是检查是否为类对象
逻辑运算符:(&、|、!、^、&&、||)逻辑与、非、或、异或、短路与、短路或  *具有惰性原则*
位运算符(了解):(<<、>>、>>>、&、|、^、~)在一定范围内、 左移、右移、无符号右移(只有右移,无左移)、与运算、或运算、异或运算、取反运算
三目运算符:(A>B)?A:B

三目运算符可以转换为 if-else,如果都可以优先选择三目运算符

逻辑运算符和位运算符的(&、|、^)区别
1.如果变量是boolean类型则是逻辑运算符,如果是数值则是位运算符
2.位运算中、与或非对该数值的二进制进行与或非。例(9&3 ==1)
逻辑运算符&与&&和 |与 ||的区别
1.&和 | 两边的值都需要运算
2.&&和 || 具有惰性原则,从前往后执行会有短路,开发中 推荐使用这个。

交换两个变量值的方式

        int a = 10;
        int b = 20;
        //方式一
        int temb = a;
        a= b;
        b = temb;
        //方式二   好处:不需要定义临时变量,占用内存小
        //         坏处:相加可能超出存储范围;只能适用于数值类型
        a = a + b;
        b = a - b;
        a= a - b;

运算符优先级
运算符优先级
流程控制结构

1.顺序结构
2.分支结构(if-else、switch-case)
3.循环结构(while、do-while、for)

switch可以接受的数据类型有六种

:byte、char、short、int、枚举类型变量、String类型

三元运算符、if-else、switch之间的关系

优先考虑三元和switch,最后考虑if-else方法。

输出100以内的质数

public class PrimeNumberTest {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int i = 2; i < 10000; i++) {  //从2到100进行遍力
            boolean flag = true;   //设置标志
            //for (int j = 2; j < i; j++) {
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0){  //如果被除尽说明最大公因子不是1和它本身
                    flag = false;
                    break;    //优化1
                }

            }
            if(flag == true){
                System.out.println(i);  //输出质数,
            }
        }
        long end = System.currentTimeMillis();
        System.out.println(end-start);  //291, 优化一:63  优化二:48
    }
}



带有标签的continue和break
可以直接跳转

public static void printTest(){
        lable:for (int i = 0; i < 10; i++) {
            for (int j = 1; j < 10; j++) {
                if(j % 3 == 0){
                    break lable;
                    //continue label;
                }
                System.out.print(j);
            }
            System.out.println();
        }
    }

键盘输入(Scanner类)
nextDouble()、next()等可以获取不同的类型,输入类型必须与接受类型匹配,否则报错。

main{
Scanner input = new Scanner(System.in);
int a = input.nextInt();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值