很多刚接触Java编程的同学都觉得学习Java编程很简单,但是学到后期越学越吃力,今天我就总结一下Java编程哪一阶段最难学。
创新互联服务项目包括拜泉网站建设、拜泉网站制作、拜泉网页制作以及拜泉网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,拜泉网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到拜泉省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
目前来看,对于那些打算通过学习Java来找到一份工作的同学来说,可以分为三个学习阶段,初级,中级,高级。不同的学习阶段有不同的难点,下面来分这三个阶段看下。
初级:面向对象,基本上大多数同学在学到这个概念的时候都会懵逼,太抽象了,逻辑思维不太好的同学,掉到这个坑里就很难再爬上来。多线程,这个也是初级里面比较难学的一个章节,而且有些已经工作两三年的同学对这个知识点仍然是一知半解,大多数Java初级程序员在工作当中也接触不到这方法的Java编程开发工作。
中级:这块最难的恐怕就是要学的知识点太多了,无从下手,前台的html,css,Javascript,后台的servlet,jdbc,数据库,tomcat,要学习的知识点真的是太多了,零基础学习Java刚学到这块知识的时候,会觉着比较杂乱,不过只要是把这部分的知识点掌握了,再去学习Java编程后面框架的知识,会容易很多。
高级:对于能够学习到这块知识的同学,Java编程对他来说已经没有难学的了。万变不离其宗,只要是把前面的Java编程基础知识掌握好,后面会越来越容易。
以上就是我总结的Java编程各阶段的难点汇总。万事开头难,有很多人都倒在了hello world上面。只要你用心,Java编程其实并不难
import java.util.Scanner;
public class Du {
public static void main(String[] args) {
System.out.print("Please input an integer: ");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
int sum = 0;
for(int i = 1; i = input; i++){
sum = sum + i;
}
System.out.println("1+2+...+" + input + " = " + sum);
}
}
-----------------
Please input an integer: 15
1+2+...+15 = 120
n= n * 2
n * a/2
n 为多边形 边数 a 为边长 除以2 是因为 圆周长公式 2πR
package Anther;
import java.util.Scanner;
public class UnionAndIntersection {
public static void main(String[] args) {
System.out.println("请输入:");
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
String[] str1 = s1.split(",");
String s2 = sc.nextLine();
String[] str2 = s2.split(",");
UnionAndIntersection uai = new UnionAndIntersection();
Rec rec1 = uai.new Rec(str1);
Rec rec2 = uai.new Rec(str2);
if(!isIntersection(rec1,rec2)){
System.out.println("不存在");
} else{
getIntersection(rec1,rec2);
}
getUnion(rec1,rec2);
}
public static boolean isIntersection(Rec rec1, Rec rec2){
return rec1.lrp.y = rec2.ulp.y rec2.lrp.x = rec1.ulp.x rec2.lrp.y = rec1.ulp.y rec1.lrp.x = rec2.ulp.x;
}
//把一个矩形的所有点于另一矩形检测, 看是否包含, 因为矩形是 平行坐标轴的,第一个相交的点 是相交矩形的左上角。
// 没想到其他方法做...
public static void getIntersection(Rec rec1, Rec rec2){
int minX=0,minY=0,maxX=0,maxY=0;
boolean first = true;
for(int i = rec1.ulp.y; i = rec1.ulp.y+rec1.high; i++ ){
for(int j = rec1.ulp.x; j = rec1.ulp.x+rec1.wide;j++){
if(contains(j,i,rec2)){
if(first){
minX = j;
minY = i;
first = false;
}
maxX = j;
maxY = i;
}
}
}
System.out.println(minX+","+minY+","+(maxX-minX)+","+(maxY-minY));
}
//判断矩形rec是否包含点
public static boolean contains(int x , int y, Rec rec){
if(x= rec.ulp.x x = rec.ulp.x+rec.wide y = rec.ulp.y y = rec.ulp.y+rec.high){
return true;
} else {
return false;
}
}
//并集 , 找到2个矩形左上角 右下角中,最小 和最大的 X Y
public static void getUnion(Rec rec1, Rec rec2){
int minX,minY,maxX,maxY;
if(rec1.ulp.x rec2.ulp.x){
minX = rec1.ulp.x;
} else {
minX = rec2.ulp.x;
}
if(rec1.ulp.y rec2.ulp.y){
minY = rec1.ulp.y;
} else {
minY = rec2.ulp.y;
}
if(rec1.lrp.x rec2.lrp.x){
maxX = rec1.lrp.x;
} else {
maxX = rec2.lrp.x;
}
if(rec1.lrp.y rec2.lrp.y){
maxY = rec1.lrp.y;
} else {
maxY = rec2.lrp.y;
}
System.out.println(minX+","+minY+","+(maxX-minX)+","+(maxY-minY));
}
class Point{
int x;
int y;
public Point() {
super();
}
public Point(int x , int y){
this.x = x;
this.y = y;
}
}
class Rec{
//ulp 左上角 lrp右下角
Point p1;
Point p2;
Point ulp = new Point();
Point lrp = new Point();
int wide, high;
public Rec(String[] s){
p1 = new Point(Integer.parseInt(s[0]),Integer.parseInt(s[1]));
p2 = new Point(Integer.parseInt(s[2]),Integer.parseInt(s[3]));
wide = Math.abs(p1.x - p2.x);
high = Math.abs(p1.y - p2.y);
if(p1.x = p2.x p1.y =p2.y){
ulp.x = p1.x;
ulp.y = p1.y;
lrp.x = p2.x;
lrp.y = p2.y;
} else if(p1.x = p2.x p1.y = p2.y ){
ulp.x = p1.x;
ulp.y = p2.y;
lrp.x = p2.x;
lrp.y = p1.y;
} else if(p1.x = p2.x p1.y = p2.y){
ulp.x = p2.x;
ulp.y = p2.y;
lrp.x = p1.x;
lrp.y = p1.y;
} else if(p1.x = p2.x p1.y = p2.y){
ulp.x = p2.x;
ulp.y = p1.y;
lrp.x = p1.x;
lrp.y = p2.y;
}
// System.out.println(WNX+" "+WNY+" "+wide+" "+high);
}
}
}