Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
جاوا در سال 2017 هم اول شد
اگر بخواهیم در یک محدوده مشخص اعداد تصادفی تولید کنیم چگونه عمل می کنیم؟
مثلا قصد داریم اعداد رندم ما بین 90 تا 100 تولید شود.

پاسخ:
..............................


import java.util.Random;

public class ExJavalike {

public static void main(String[] args) {
Random r = new Random();
int first = 90;
int end = 100;
System.out.println(r.nextInt(end - first) + first);
}

}
...................
در مثال بالا اعداد رندم تولیدی بین 90 تا 100 می باشد.
شما می توانید بازه دلخواه خود را جایگزین دو عدد بالا کنید
Channel photo removed
🔮معکوس کردن یک عدد در جاوا
مثال: 123--->321
پاسخ:
package dot;

import java.util.Scanner;

class Reverse {

public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("Please Enter the number:");
int num = input.nextInt(); // take argument as command line

int remainder, result = 0;

while (num > 0) {

remainder = num % 10;

result = result * 10 + remainder;

num = num / 10;

}

System.out.println("Reverse number is : " + result);

}

}
تولید 5 عدد رندم(تصادفی) بین 1 تا 100 در جاوا
پاسخ:
class RandomDemo{

public static void main(String args[]){

for(int i=1;i<=5;i++){

System.out.println((int)(Math.random()*100));

}

}

}
..........
♦️شبه کد زیر را در نظر بگیرید:

if (aNumber >= 0)
if (aNumber == 0)
System.out.println("first string");
else
System.out.println("second string");
System.out.println("third string");

..............................
✳️سوال اول- اگر مقدار aNumber برابر عدد 3 بود خروجی چه میشد؟

حل:
second string
third string
تکنولوژی JAVA TV

یکی از تکنولوژی های موجود در جاوا می باشد.اساس Java TV تکنولوژی Java ME می باشد.
تکنولوژی Java TV یک راه حل سازگار،امن و آسان را برای پیاده سازی و توسعه برنامه های کاربردی که قابلیت اجرا در تلوزیون و دستگاه های ستاپ باکس را دارند می باشد.
خب با Java TV چه برنامه هایی را میشه برا تلویزیون نوشت؟!
توسعه دهندگان این تکنولوژی می توانند به راحتی برنامه های کاربردی مانند برنامه راهنما،بازی ها،برنامه آموزشی،و همچنین برنامه های کاربردی که می توانند به داده ها در اینترنت دسرسی پیدا کنند مانند برنامه های هواشناسی،نوارهای اعلام اخبار،شبکه های اجتماعی و...
۵ ملیارد جاوا کارت در جهان مورد استفاده قرار میگیرد
شاید براتون سوال پیش اومده که جاوا کارت چیه؟!
جاوا ی زبون برنامه نویسی بزرگ و قدرتمندی است که در زمینه های مختلف ازش استفاده شده نظیر برنامه های بانکی،سازمانی،وب،رومیزی،موبایل و...
یکی از کاربردهای جاوا استفاده از آن در نوشتن اپلت ها برای کارت های هوشمند می باشد.
تکنولوژی جاوا کارت اجازه می دهد تا اپلت های نوشته شده به زبان جاوا بر روی کارت های هوشمند اجرا شود.
محیط اجرای جاوا کارت (JCRE) اجرای اپلت های نوشته شده جاوا روی کارت های هوشمند را فراهم می کند.
#مثالی_از_آرایه_ها_در_جاوا
برنامه ای به زبان جاوا بنویسید که بزرگترین و کوچکترین مقدار عناصر درون یک آرایه را پیدا کند.
Learn Java
#مثالی_از_آرایه_ها_در_جاوا برنامه ای به زبان جاوا بنویسید که بزرگترین و کوچکترین مقدار عناصر درون یک آرایه را پیدا کند.
پاسخ:
package test;
import java.util.Arrays;
public class Exercise10 {

static int max;
static int min;

public static void max_min(int my_array[]) {
max = my_array[0];
min = my_array[0];
int len = my_array.length;
for (int i = 1; i < len - 1; i = i + 2) {
if (i + 1 > len) {
if (my_array[i] > max) max = my_array[i];
if (my_array[i] < min) min = my_array[i];
}
if (my_array[i] > my_array[i + 1]) {
if (my_array[i] > max) max = my_array[i];
if (my_array[i + 1] < min) min = my_array[i + 1];
}
if (my_array[i] < my_array[i + 1]) {
if (my_array[i] < min) min = my_array[i];
if (my_array[i + 1] > max) max = my_array[i + 1];
}
}
}

public static void main(String[] args) {
int[] my_array = {25, 14, 56, 15, 36, 56, 77, 18, 29, 49};
max_min(my_array);
System.out.println(" Original Array: " + Arrays.toString(my_array));
System.out.println(" Maximum value for the above array = " + max);
System.out.println(" Minimum value for the above array = " + min);
}
}
==============
خروجی:
Original Array: [25, 14, 56, 15, 36, 56, 77, 18, 29, 49]
Maximum value for the above array = 77
Minimum value for the above array = 14
===============
✳️میخواستم بدونم چه طوری حروف تکراری رو از یک رشته حذف کنم؟

پاسخ ما:

package test;

import java.util.Scanner;

public class Test {
public static String removeDup(String inputString) {
if (inputString.length() < 2)
return inputString;
if (inputString == null)
return null;
char[] inputBuffer = inputString.toCharArray();
String str = new String();
for (int i = 0; i < inputBuffer.length; i++) {
for (int j = i + 1; j < inputBuffer.length; j++) {
if (inputBuffer[i] == inputBuffer[j]) {
inputBuffer[j] = 0;
}
}
}
for (int i = 0; i < inputBuffer.length; i++) {

if (inputBuffer[i] != 0) {

str += inputBuffer[i];
}
}
String result = new String(str);
return result;
}

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter the String:");

String str = input.next();
System.out.println(removeDup(str));

}

}
..................................
✳️صورت سوال: برنامه ای به زبان جاوا بنویسید که یک متد داشته باشد که عملیات زیر را انجام دهد:
تبدیل مبنای 10 به عدد باینری(دودویی)
به این صورت که متد ما یک پارامتر ورودی داره و با صدا زدن و ست کردن متد تبدیل رو انجام
بده!!
🔵مثال: فرض کنید عدد ما در مبنای 10 این مقدار 693 باشد وقتی به مبنای 2 ببریمش می شود
1010110101 یا عدد 4 وقتی به مبنای 2 برده شود میشود 100
.....................
پاسخ:
package tutorial;

import java.util.Scanner;

public class Example2 {

public String decimalToBainary(int m) {
String s = new String();

while (m >= 2) {
if (m % 2 == 0) {
s += "0";
m = m / 2;
} else if (m % 2 == 1) {
s += "1";
m = m / 2;

}
}
s += "" + m;
String str = new String();
for (int i = s.length() - 1; i >= 0; i--) {

str += s.substring(i, i + 1);
}
return str;

}

public static void main(String[] args) {
Example2 t = new Example2();

System.out.println(t.decimalToBainary(7));

}

}
...............................
⬇️خروجی:
خروجی این برنامه در محیط کنسول بعد از کامپایل و اجرای برنامه بصورت زیر است:
111
نکته: عدد 111 یک عدد باینری یا دودویی هستش که تنها برای ماشین قابل فهم می باشد و با عدد صد و یازده اشتباه نگیریدش
..................................
✳️صورت سوال: برنامه ای به زبان جاوا بنویسید که یک متد داشته باشد که عملیات زیر را انجام دهد:
تبدیل عدد باینری به مبنای 10(تبدیل از مبنای(binary (2 به 10)
به این صورت که متد ما یک پارامتر ورودی داره و با صدا زدن و ست کردن متد تبدیل رو انجام
بده!!
مثال: فرض کنید عدد باینری ما 1010110101 این مقدار باشد وقتی به مبنای 10 ببریمش می شود
693 یا عدد دودویی 100 وقتی به مبنای 10 برده شود میشود 4
...................................................................................................................................................................................................
پاسخ:
package tutorial;

import java.util.Scanner;

public class Example1 {

public int bainaryToDecimal(int a) {

String b = "" + a;

Integer in = new Integer("0");
int j = 0;
int sum = 0;

for (int i = b.length() - 1; i >= 0; i--) {

int d = Integer.parseInt(b.substring(i, i + 1));
sum += (int) (Math.pow(2, j) * d);
j++;
}

return sum;
}



public static void main(String[] args) {
Example1 t = new Example1();

System.out.println(t.bainaryToDecimal(111));



}

}

........................................................................................................................................................
⬇️خروجی: خروجی این برنامه در محیط کنسول بعد از کامپایل و اجرای برنامه بصورت زیر است:
7
الگوریتم موفقیت🤘
پروژه پازل به زبان جاوا (2).zip
637 KB
سورس کد پازل به زبان جاوا

برای استفاده ی شما علاقه مندان (;
جاوا به زبان ساده ۲۴
درست کردن متد با پارامتر ها
تو این قسمت از اموزش میخوایم به کار گیری متد ها + پارامتر ها صحب کنیم

توجه: تو این اموزش از دو کلاس استفاده میشه پس باید دو کلاس متفاوت ولی توی یک پروژه بسازید

فرض نام کلاس اول NewClass و فرض نام کلاس دوم Parsa


NewClass:‌کلاسی هست که متد ها و پارمتر هارو توش تعریف خواهیم کرد

Parsa:کلاسی هست که دارای متد Main هست و کلاس بالایی رو توش فراخونی خواهیم کرد


public class NewClass
{
public void simpleMessage(String name)
{
System.out.println("hello " + name);
}
}



name: پارامتره...از نوع String
چرا String?
خب name عدد نیستش که دوستان


خب حالا میریم توی متد Main

یادتونه گفتم چطوری از کاربرتون input بگیرین؟

import java.util.Scanner;
public class Parsa
{
public static void main (String[] args)
{
Scanner input = new Scanner (System.in);
NewClass object = new NewClass();

System.out.println("Esmet ro vared kon: ");
String name = input.nextLine();
object simpleMessage(name);
}
}

خروجی :
Esmet ro vared kon :
Parsa
hello Parsa

public void simpleMessage(String name):اسم متدمون رو simpleMessage گذاشتیم
و طوری تایین کردیم متد رو که چیزیو برگشت نده..هرگاه void داشته باشه چیزیو برگشت نمیده

String name: اسم پارامتره ماست

Scanner input = new Scanner (System.in); : یه شی از اسکنرمون ساختیم

NewClass object = new NewClass();: کلاس NewClass رو فراخونی کردیم و شی ای به نام object ازش ساختیم

String name = input.nextLine();: یه استرینگ به اسم name ساختیم و طوری تعریفش کردیم که بره لاین بعدی

و در اخر
object simpleMessage(name);: این متد هم از پارامتر name توی کلاس NewClass xاستفاده میکنه

سوالی بود :@prsw16
جاوا به زبان ساده ۲۶:
گرافیک
import java.awt.BorderLayout;
import javax.swing. *;

public class Hello extends JFrame {
public Hello() {
super("hello");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(new JLabel("Hello, world!"));
pack();
}

public static void main(String[] args) {
new Hello().setVisible(true);
}
}

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کند تا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند؛ و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
تست برنامه‌های نوشته شده توسط جاوا

جاوا امروزه به عنوان یک زبان پر کاربرد به خصوص در برنامه‌های کاربردی تجاری مطرح است و بسیاری از سازمان‌ها و شرکت‌های از این زبان و تکنولوژی‌های مربوط به آن استفاده می‌کنند. ابزارهای زیادی برای تست برنامه‌های نوشته شده توسط جاوا مورد استفاده قرار می‌گیرند. برای مثال: در جاوا به دلیل مدیریت حافظه توسط Garbage collection ممکن است به دلیل نوشتن غیر استاندارد برنامه در حافظه نشتی داشته باشیم (memory leakage)که این امر سبب می‌شود حافظه گرفته شده آزاد نشود و با پر شدن حافظه برنامه دچار خلل شود. برای حل این مشکل و سایر مشکلات نیاز به تست نرم‌افزارهای نوشته شده در جاوا هستیم. با بزرگ شدن حجم نرم‌افزار تست آن نیز سخت‌تر می‌شود. بهتر از قبل از نوشتن برنامه‌های تجاری بزرگ به تست و نحوه تضمین کیفیت آن هم فکر شود.
جاوا به زبان ساده ۲۷:
import java.io. *;
import javax.servlet. *;

public class Hello extends GenericServlet {
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
final PrintWriter pw = response.getWriter();
pw.println("Hello, world!");
pw.close();
}
}


واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.