JAVA学习笔记

一.hellowrld程序
1.system.in/out
2.scanner in =new scanner(system.in),创建对象
3.shift+方向多选行
4.ctrl+/注释
5.变量使用
6.public static void main()
7.常量:final int amount=100;
 
二.判断分支语录
1.math.abs(a1-a2)<1e-6
2.if(a>b)判断语句
{     do something 
}
else
{
do other things
}
3.switch(type)判断语句
{
case 1:
     lalala;
     break;
case 2:
     lalala2;
     break;
default:
      lalala3;
    break;
}
三.循环语句
1.while语句
2.do 
{ <循环体> }while(<条件>};
3.int 4字节,[2^31-1,2^31]
.
 4.for 循环for(i=1;i<=n;i++)
5.支持标号的使用,可以用标号来退出循环
OUT: 
for()
{
for()
{
break OUT;
}
}
6.continue 和 break的使用
7.system.out.printf("%.2f",sum)可以格式化输出
8.最大公约数求解
 
9.欧几里得辗转相除法:


四.数组的使用
1.int [] numbers=new int[100];创建数组
.
2.数组使用要注意范围大小
3.JAVA可以用变量作为数组大小int [ ]numbers=new int [cnt]
4.数组的内部元素,length,numbers.length,使代码具有可扩展性
5.JAVA会初始化数组为0
6.int[ ]numbers= {1 , 2 , 3 }; 
 
7.数组变量是指针,指向新创建的数组空间,对指针进行赋值,则两个数组变量指向同一个内存空间
 

8.数组变量是管理者
 

9.数组的复制要逐个元素进行赋值
10. for-each循环可以读出数组元素,但不能进行修改
package hello;
import java.util.Scanner;
public class Helloworld {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        int []data={1,11,23,45,3};
        int x=in.nextInt();
        boolean found=false;
        for(int k:data)
        {
            if(k==x)
            {
                found=true;
            }
        }
        if(found)System.out.print(x+"在其中");
    }
}

五.素数判断
1.优化:除2偶数不是素数,可减少至n/2
if(x==1 || x%2==0 && x!=2)
{ isPrime=false;
}
else
for(int  i=3;i<x;i+=2)
        {
            if(x%i ==0)
            {
                isPrime=false;
                                  break;
            }
        }
}
2.优化:找到sqrt(x)就可以了
for(int  i=3;i<Math.sqrt(x);i+=2)
        {
            if( i%x==0)
            {
                isPrime=false;
                                  break;
            }
        }
3.优化:建立50素数表
public class Helloworld {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int []prime=new int[50];
        prime[0]=2;
        int cnt=1;
        boolean isPrime=true;
        loop:
        for(int x=3;cnt<50;x++)
        {
            for(int j=0;j<cnt;j++)
            {
                if(x%prime[j]==0)
                {
                    continue loop;
                }
            }
            prime[cnt++]=x;
        }
        for(int k:prime)
        {
            System.out.print(k+" ");
        }
    }
}
4.优化:利用筛法将非素数筛除
public class Helloworld {
    public static void main(String[] args) {
        boolean[]isprime=new boolean[100];
        for(int i=2;i<isprime.length;i++)
        {
            isprime[i]=true;
        }
        for(int i=2;i<isprime.length;i++)
        {
            if(isprime[i])
            {
                for(int k=2;i*k<isprime.length;i++)
                {
                    isprime[i*k]=false;
                }
            }
        }
        for(int i=0;i<isprime.length;i++)
        {
            if(isprime[i])
            {
                System.out.print(i+" ");
            }
        }
    }
}
5.二维数组:
int [][]a=new int[3][5];
a[0][1]=5;
或者int [][]a={{1,2,3,4},{1,2,3}};

六.字符
1.char a='A'; JAVA使用UNICODE编码 char a='\u0041';
2.逃逸字符:\t
3.包裹类型变量:Integer.MAX_VALUE 有一些特殊的方法可以调用
4.需要让一个类或者对象做事情的时候用.调用
5.String s;String是一个类,是字符的管理者
String s=new String(" hello");或者String s="hello";
6.in.nextln()读入字符
7.对两个字符串进行比较时不能用==,要用s.equals("bye");
8.字符串操作:比较字符大小s.compareTo(s2);
                             字符串长度s.length();
                             访问String里的字符S.charAT(index);
                             取出子串s1.substring(2,4);得到2-3号子串到结尾之前
                             寻找字符s.indexOf(c);//返回位置,没找到返回-1,如果要找到重复元素int loc =s.indexOf('3') 然后s.indexOf('3',loc+1);
                             以某个字符开头s.startsWith(t);//结尾s.endsWith(t);
                             删除两段空格s.trim();
                             字符串替换s.replace(c1,c2);
                             变成大写s.toUpperCase()  //小写s.toLowerCase();
9.Math类:abs,pow,random,roud//四舍五入

七.函数//方法
1.方法的声明

2.方法调用
    return 返回值;void没有返回值
3.参数传递的时候传递的是变量的值,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值