Faits :
A.
Ressortissant algérien né en 1983, X._ est entré en Suisse en 2008 et a déposé une demande d'asile dans le canton de Berne, laquelle a fait l'objet d'une décision de non-entrée en matière, confirmée ensuite par arrêt du Tribunal administratif fédéral du 7 mars 2008. Le 11 mars 2008, l'intéressé a fait l'objet d'une décision de renvoi de Suisse, qui est entrée en force le 25 mars 2008. A partir de cette date, il réside en Suisse de manière illégale.
X._ entretient depuis juin 2014 une relation sentimentale avec Y._, ressortissante suisse domiciliée dans le canton du Jura, mère de deux enfants nés en 2011 et 2013.
Entre 2008 et 2016, X._ a été condamné pénalement à quinze reprises par différentes autorités judiciaires suisses. Dans le canton du Jura, il a fait l'objet de cinq condamnations pénales sanctionnées par des peines privatives de liberté oscillant entre trente jours et six mois, notamment pour des infractions à la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121) et à la législation fédérale sur les étrangers.
B.
Par décision du 3 mai 2016, le Service de la population du canton du Jura (ci-après: le Service cantonal) a prononcé à l'encontre de X._ une interdiction de pénétrer sur le territoire dudit canton pour une durée de deux ans à compter du 8 mai 2016. Le 4 juillet 2016, la Juge administrative du Tribunal de première instance du canton du Jura (ci-après: la Juge administrative) a rejeté le recours formé par l'intéressé contre la décision du Service cantonal. Par mémoire du 14 juillet 2016, X._ a interjeté recours contre cette décision auprès du Tribunal cantonal du canton du Jura (ci-après: le Tribunal cantonal). Invités à se déterminer sur le recours, la Juge administrative a transmis ses observations le 20 juillet 2016, alors que le Service cantonal a déposé sa réponse le 9 août 2016. Par ordonnance du 11 août 2016, le Tribunal cantonal a transmis ces prises de position à X._ (<ref-law>). Le 17 août 2016, il a rejeté le recours.
C.
Agissant à la fois par la voie du recours en matière de droit public et celle du recours constitutionnel subsidiaire, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler le jugement du 17 août 2016 et de renvoyer la cause au Tribunal cantonal pour nouvelle décision dans le sens des considérants. Il invoque une violation de son droit d'être entendu et du principe de la proportionnalité.
Le Tribunal cantonal déclare acquiescer au recours s'agissant de la violation du droit d'être entendu et renvoie pour le surplus aux considérants du jugement entrepris. Le Service cantonal renonce à se prononcer sur le grief relatif au droit d'être entendu et se réfère pour le reste à sa décision du 3 mai 2016 ainsi qu'à ses prises de position ultérieures. Le Secrétariat d'Etat aux migrations renonce à déposer des observations.

Considérant en droit :
1.
Le Tribunal fédéral examine d'office sa compétence (<ref-law>) et contrôle librement et avec une pleine cognition la recevabilité des recours portés devant lui (<ref-ruling> consid. 2 p. 59; <ref-ruling> consid. 1 p. 44).
1.1. Le recourant a déposé, dans la même écriture (cf. <ref-law>), un recours en matière de droit public et un recours constitutionnel subsidiaire. Celui-ci n'étant ouvert qu'à la condition que la décision attaquée ne puisse faire l'objet d'un recours ordinaire (cf. <ref-law>), il convient d'examiner en premier lieu la recevabilité du recours en matière de droit public.
1.2. L'arrêt attaqué, qui concerne une interdiction d'entrée sur le territoire cantonal, est une décision finale (<ref-law>), rendue en dernière instance cantonale par un tribunal supérieur (art. 86 al. 1 let. d et al. 2 LTF) dans une cause de droit public (<ref-law>) ne tombant pas sous le coup des exceptions de l'<ref-law>. La voie du recours en matière de droit public est ainsi ouverte, ce qui entraîne l'irrecevabilité du recours constitutionnel subsidiaire formé en parallèle (<ref-law> a contrario).
1.3. Pour le surplus, le recours a été interjeté en temps utile (<ref-law>) et dans les formes requises (<ref-law>) par le destinataire de l'arrêt attaqué qui a qualité pour recourir au sens de l'<ref-law>. Le recours en matière de droit public est donc recevable.
2.
Dans un grief d'ordre formel qu'il convient d'examiner en premier lieu (<ref-ruling> consid. 5.1 p. 237), le recourant se plaint d'une violation de son droit d'être entendu au sens de l'art. 29 al. 2 Cst, sous l'angle du droit à la réplique. Il fait valoir que, par ordonnance du 11 août 2016, notifiée à son mandataire le 17 août 2016, le Tribunal cantonal lui a communiqué les prises de position de la Juge administrative et du Service cantonal relatives à son recours. L'intéressé affirme que l'ordonnance en question contenait la mention suivante: "sous réserve d'une décision contraire de la Cour, l'arrêt sera rendu par écrit postérieurement au 22 août 2016". Il relève que le Tribunal cantonal a toutefois rendu le jugement entrepris le 17 août 2016. Selon le recourant, en agissant de la sorte, le Tribunal cantonal l'aurait privé de la possibilité de se déterminer sur les observations des autorités précédentes, en violant ainsi son droit d'être entendu.
2.1. Conformément à l'art. 29 al. 2 Cst., les parties ont le droit d'être entendues. Compris comme l'un des aspects de la notion générale de procès équitable, le droit d'être entendu comprend en particulier le droit, pour une partie à un procès, de prendre connaissance de toute argumentation présentée au tribunal et de se déterminer à son propos, que celle-ci contienne ou non de nouveaux éléments de fait ou de droit, et qu'elle soit ou non concrètement susceptible d'influer sur le jugement à rendre. Il appartient en effet aux parties, et non au juge, de décider si une prise de position ou une pièce nouvellement versée au dossier contient des éléments déterminants qui appellent des observations de leur part. Toute prise de position ou pièce nouvelle versée au dossier doit ainsi être communiquée aux parties pour leur permettre de décider si elles veulent ou non faire usage de leur faculté de se déterminer (<ref-ruling> consid. 2.1 p. 485 s.; <ref-ruling> consid. 2.3.1 p. 197). Dans les procédures judiciaires, ce droit existe que la cause soit ou non soumise à l'art. 6 par. 1 CEDH, l'art. 29 Cst. devant, sous cet angle, être interprété de la même manière (<ref-ruling> consid. 2.3.3 p. 157; arrêt 2C_862/2016 du 4 novembre 2016 consid. 4.3).
2.2. Lorsqu'une partie est représentée par un avocat, la jurisprudence considère que le droit de répliquer n'impose pas à l'autorité judiciaire l'obligation de fixer un délai au justiciable pour déposer d'éventuelles observations. On peut attendre de l'avocat à qui une détermination ou une pièce est envoyée pour information qu'il connaisse la pratique selon laquelle, s'il entend prendre position, il doit le faire directement ou demander à l'autorité de lui fixer un délai pour ce faire; sinon, il est réputé avoir renoncé à se prononcer (<ref-ruling> consid. 4.8 p. 105, confirmé notamment en dernier lieu dans l'arrêt 2C_862/2016 du 4 novembre 2016 consid. 4.4; cf. aussi <ref-ruling> consid. 2.3 p. 486 s.). Pour que le droit à la réplique soit garanti, il faut toutefois que le tribunal laisse un laps de temps suffisant à l'avocat, entre la remise des documents et le prononcé de sa décision, pour que le mandataire ait la possibilité de déposer des observations s'il l'estime nécessaire à la défense des intérêts de son client (à propos de la durée du délai, qui ne saurait en principe être inférieur à 10 jours, cf. arrêts 2C_862/2016 du 4 novembre 2016 consid. 4.4; 5A_1022/2015 du 29 avril 2016 consid. 3.2.2; 5D_81/2015 du 4 avril 2016 consid. 2.3.3 et 2.3.4). Cette pratique peut certes engendrer une certaine incertitude, étant donné que la partie ignore de combien de temps elle dispose pour formuler une éventuelle prise de position. La CourEDH a toutefois admis la conformité de ce procédé avec l'art. 6 par. 1 CEDH, dès lors qu'il suffit à la partie de demander à l'autorité de pouvoir prendre position et de requérir la fixation d'un délai (arrêt de la CourEDH Joos c. Suisse du 15 novembre 2012 [requête no 43245/07], par. 27 ss, en particulier par. 30-32).
2.3. Le droit d'être entendu est une garantie constitutionnelle de caractère formel, dont la violation doit entraîner l'annulation de la décision attaquée, indépendamment des chances de succès du recourant sur le fond (<ref-ruling> consid. 2.8.1 p. 226; <ref-ruling> consid. 2.2 p. 197).
2.4. En l'espèce, il ressort du dossier cantonal (<ref-law>) que, par ordonnance du 11 août 2016, le Tribunal cantonal a transmis au recourant la prise de position du Service de la population du 9 août 2016 ainsi que les observations de la Juge administrative du 20 juillet 2016. Le recourant affirme que l'ordonnance en question lui a été notifiée le 17 août 2016, sans toutefois le prouver; quant au dossier, il ne fournit aucune information à ce sujet. Quoi qu'il en soit, la question du jour exact de la notification de ladite ordonnance peut demeurer indécise. En effet, même si elle avait été notifiée au recourant immédiatement, soit le 12 août 2016, l'intéressé n'aurait eu qu'un délai de cinq jours pour se déterminer sur les observations des autorités précédentes, le jugement du Tribunal cantonal ayant été rendu le 17 août 2016. Au vu de la jurisprudence précitée (cf. supra consid. 2.2), un tel délai n'était pas suffisant pour permettre au Tribunal cantonal de conclure à ce que le recourant avait renoncé à se déterminer sur les observations en question. Au surplus, comme le relève à juste titre l'intéressé, l'ordonnance du 11 août 2016 indiquait que l'arrêt devait être rendu "postérieurement au 22 août 2016", de sorte que le recourant était en droit de s'attendre à pouvoir déposer une réplique jusqu'à cette date.
Dans ces circonstances, force est de constater que le Tribunal cantonal a violé le droit d'être entendu du recourant, ce que cette autorité, dans sa prise de position auprès du Tribunal fédéral, ne conteste au demeurant pas.
2.5. Ce vice ne peut pas être réparé devant le Tribunal fédéral (cf. ATF <ref-ruling> consid. 2.7 p. 199; arrêts 2C_862/2016 du 4 novembre 2016 consid. 4.6 et 2C_939/2013 du 31 mars 2014 consid. 4.2). Partant, le recours en matière de droit public doit être admis et l'arrêt attaqué annulé, sans qu'il soit nécessaire d'examiner les autres griefs soulevés par le recourant. La cause sera renvoyée au Tribunal cantonal pour nouvelle décision, après avoir octroyé au recourant la possibilité d'exercer son droit à la réplique.
3.
Compte tenu de l'issue du litige, il ne sera pas perçu de frais judiciaires (<ref-law>). Le recourant, qui obtient gain de cause avec l'assistance d'un mandataire professionnel, a droit à des dépens à la charge du canton du Jura (<ref-law>). Le présent arrêt rend ainsi sans objet la requête d'assistance judiciaire déposée par le recourant devant le Tribunal fédéral.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours constitutionnel subsidiaire est irrecevable.
2.
Le recours en matière de droit public est admis.
3.
L'arrêt du Tribunal cantonal du canton du Jura du 17 août 2016 est annulé et la cause est renvoyée à cette autorité pour nouvelle décision dans le sens des considérants.
4.
Il n'est pas perçu de frais judiciaires.
5.
Le canton du Jura versera au mandataire du recourant une indemnité de 2'000 fr. à titre de dépens.
6.
Le présent arrêt est communiq ué au mandataire du recourant, au Service de la population du canton du Jura, au Tribunal cantonal de la République et canton du Jura, Cour administrative, et au Secrétariat d'Etat aux migrations.
Lausanne, le 17 juillet 2017
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
La Juge présidant : Aubry Girardin
Le Greffier : Ermotti