java基础知识(一)

第一周java讲解小记

这一周我们在这三天之中学习了java的发展和历史和java的叙写方法,接触到了基本数据类型的转换,还有引用的数据类型,同时还学习了if-else分支语句和for循环和while循环语句,我们也练习了许多相关的经典习题。
1.java的三大分类:java总共分为3大类有:
(1)JAVA SE:标准版的java,主要用于解决桌面级的应用程序。
(2)JAVA EE:企业版的java,它是以JAVA SE为基础的并包含JAVA SE的扩充的java, 主要用于解决桌面级和服务器级别的应用程序。
(3)JAVA ME:微型版的JAVA,是JAVA SE的一部分组成的JAVA,现在已基本不太涉及并逐渐被更Android和Ios等替代,主要解决电子消费类产品和嵌入式的应用程序。

2.java的跨平台的实现
因为Java中用JVM(又称java虚拟机)的存在,所以可以实现java源程序的跨平台性,以达到一次编译,到处运行的目的,其中里面到处运行体现在字节码文件是跨平台的。

3.验证java是否正确安装和查询当前jdk的版本
用WIN+R打开运行,然后输入cmd可带命令行,若要验证java,可输入java,然后就可以对比验证了,查询当前的jdk的版本可输入java -version查询当前jdk的版本。

4.所有java程序无一例外都是以main方法(主方法)作为一个入口来运行的,所有java程序的主方法有且只能有一个,并且JVM只认以main开头的主函数。

5.java程序的注释方法
单行注释 //注释内容

多行注释 /注释内筒/

文档注释 /*注释内容/

6.基本数据类型简介
java里面最多能有36个进位,因为最多能以26个英文字母和10个阿拉伯数字来作为进位单位。
基本数据类型:
整型:
byte 1字节 8位 -128~127
short 2字节 16位 -32768~32767
int 4字节 32位 -65536~65535
long 8字节 64位

浮点型:float        4字节    32位 
       double       8字节    64位

字符型:char        2字节     16位

布尔型:boolean     2字节    只能参加逻辑运算,只有true和false两种结果

基本数据类型的转换规律:

(1)小字节+大字节=大字节

(2)字符+数字=数字(可以理解为当前数字向前或向后偏移多少位)

(3)大字节向小字节转换会损失精度

(4)小字节向大字节换换需使用强制类型转换可以使用(想要强制转换的数据类型)+数据

7.三元运算符的运算规则
格式:(表达式1)?表达式2:表达式3;
规则:表达式1的值必须为布尔类型的结果,若结果为true,则选取表达式2的值,则若结果为false,则选取表达式3的值。

8.if-else语句小记
当if后面跟的语句必须为能判断的布尔类型的值,若结果为true,则执行if条件体里面的语句,否则直接跳过if条件体,直接执行下面的大括号里的其他语句。三元运算符是简写的if-else格式,简写是有弊端:不是所有的if-else都能简化,三元运算符运算完必须有结果,而if-else不一定运算完一定有运算结果。

9.循环语句小记
(1)for循环主要用于事先循环次数明确的具有相同算法逻辑的java程序
(2)while循环则主要用与事先循环次数未知也同样具有相同算法逻辑的java程序,while程序易导致死循环,别忘了最后判断跳出条件,用break语句跳出此死循环。
(3)for循环构成的嵌套循环:最外层循环主要为控制输出行数的约束;内存循环主要为单独各自判断各行输出个数的输入约束;各行输出结果的不同主要体现在System.out.print()输出方法里面的输出。

while循环注意事项

1.while循环的括号中的表达式计算结果必须为boolean类型的值。

2.while循环的括号中不能直接写false常量。

3.while循环的括号后面不要写分号,循环控制的语句的代码用大括号扩起来。

4.while循环控制的条件变量一定要更新,保证循环能够正常结束;

经典空心菱形代码程序段

class Tuxing{
    public static void main(String[] args){
        int i=1;
        while(i<=11){
            int k=1;
            while(k<=Math.abs(i-6)){
                System.out.print(" ");
                k++;
            }
            int j=1;
            while(j<=i&&j<=12-i){
                if(j==1||j==i||j==12-i){
                    System.out.print("* ");
                }else{
                    System.out.print("  ");
                }
                j++;
            }
            System.out.println();
            i++;
        }
    }
}

判断任意数字是否为回文数

import java.util.Scanner;
class Demo4_Upper{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number you like :");
        long num1 = scanner.nextLong();
        long temp = num1;
        long res=0;
        while (true){
            if (temp==0){
                break;
            }else{
                long i=temp%10;
                res = res*10+i;
                temp/=10;
            }
        }
        if (res==num1){
            System.out.println("该数为一个回文数");
        }else{
            System.out.println("该数不是回文数");
        }
    }
}

日历的经典核心算法

import java.util.*;
class Home08{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter year:(e.g.,2012):");
            int y = scanner.nextInt();
        System.out.print("Enter month:1-12:");
            int m = scanner.nextInt();
        System.out.print("Enter the day of the month:1-31:");
            int q = scanner.nextInt();
        String [] s = {"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"}; 
        if (m==1){
            m=13;
            y = y-1;
        } 
        if (m==2){
            m=14;
            y = y-1;
        }
        int j = Math.abs(y/100);
        int k = y%100;
        int h = (q + 26*(m+1)/10 + k + k/4 + j/4 + 5*j)%7;
            System.out.println("Day of the week is "+s[h]);
        }     
 }

数字金字塔

import java.util.*;
class Class15{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter the number of lines:");
        int N = scanner.nextInt();
        for (int i=1;i<=N;i++){
            for(int j=1;j<=N-i;j++){
                System.out.print("  ");
            }
            /*for(int k=1;k<=2*i-1;k++){
                System.out.print(Math.abs(k-i)+1+" ");
            }*/
            for(int k=i;k>=1;k--){
                System.out.print(k+" ");
            }
            for(int n=2;n<=i;n++){
                System.out.print(n+" ");
            }
            System.out.println();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值